From 25589b870c8aef12d7f56f46869d6d076e77e44e Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Wed, 11 Sep 2019 13:34:41 +0700 Subject: [PATCH] Refactor common/team --- .../client/src/team/TeamConnector.test.tsx | 16 ++++---- packages/client/src/team/TeamConnector.ts | 7 ++-- packages/client/src/team/TeamEditor.tsx | 10 ++--- packages/client/src/team/TeamList.tsx | 16 ++++---- packages/client/src/team/TeamManager.tsx | 10 ++--- packages/client/src/team/TeamReducer.ts | 6 +-- packages/client/src/team/TeamUserList.tsx | 16 ++++---- packages/client/tsconfig.esm.json | 2 +- packages/client/tsconfig.json | 2 +- packages/common/src/IAPIDef.ts | 5 +-- packages/common/src/ITeam.ts | 5 --- packages/common/src/IUserTeam.ts | 8 ---- .../common/src/{ => auth}/ICredentials.ts | 0 packages/common/src/auth/index.ts | 1 + packages/common/src/index.ts | 15 ++----- .../common/src/team/ITeamAddUserParams.ts | 5 +++ packages/common/src/team/ITeamCreateParams.ts | 3 ++ packages/common/src/team/ITeamRemoveParams.ts | 3 ++ .../src/{team.ts => team/ITeamService.ts} | 40 +++---------------- packages/common/src/team/ITeamUpdateParams.ts | 4 ++ packages/common/src/team/ITeamUsers.ts | 6 +++ packages/common/src/{ => team}/IUserInTeam.ts | 0 packages/common/src/team/index.ts | 7 ++++ packages/common/src/{ => user}/INewUser.ts | 2 +- packages/common/src/{ => user}/IUser.ts | 0 .../src/{user.ts => user/IUserService.ts} | 11 ----- packages/common/src/user/index.ts | 3 ++ packages/server/src/rpc/TeamService.test.ts | 6 +-- packages/server/src/rpc/TeamService.ts | 20 ++++++---- packages/server/src/rpc/UserService.test.ts | 6 +-- packages/server/src/rpc/UserService.ts | 4 +- 31 files changed, 106 insertions(+), 133 deletions(-) delete mode 100644 packages/common/src/ITeam.ts delete mode 100644 packages/common/src/IUserTeam.ts rename packages/common/src/{ => auth}/ICredentials.ts (100%) create mode 100644 packages/common/src/auth/index.ts create mode 100644 packages/common/src/team/ITeamAddUserParams.ts create mode 100644 packages/common/src/team/ITeamCreateParams.ts create mode 100644 packages/common/src/team/ITeamRemoveParams.ts rename packages/common/src/{team.ts => team/ITeamService.ts} (58%) create mode 100644 packages/common/src/team/ITeamUpdateParams.ts create mode 100644 packages/common/src/team/ITeamUsers.ts rename packages/common/src/{ => team}/IUserInTeam.ts (100%) create mode 100644 packages/common/src/team/index.ts rename packages/common/src/{ => user}/INewUser.ts (64%) rename packages/common/src/{ => user}/IUser.ts (100%) rename packages/common/src/{user.ts => user/IUserService.ts} (64%) create mode 100644 packages/common/src/user/index.ts diff --git a/packages/client/src/team/TeamConnector.test.tsx b/packages/client/src/team/TeamConnector.test.tsx index f2bf940..13c68dc 100644 --- a/packages/client/src/team/TeamConnector.test.tsx +++ b/packages/client/src/team/TeamConnector.test.tsx @@ -1,4 +1,4 @@ -import { IAPIDef, IUserInTeam, team as Team, user as User } from '@rondo.dev/common' +import { IAPIDef, IUserInTeam, ITeamService, TeamServiceMethods, UserServiceMethods, TeamActions, UserActions, IUserService, ITeamUsers, Team } from '@rondo.dev/common' import { HTTPClientMock } from '@rondo.dev/http-client' import { getError } from '@rondo.dev/test-utils' import React from 'react' @@ -18,11 +18,11 @@ describe('TeamConnector', () => { } const [teamClient, teamClientMock] = - createClientMock(Team.TeamServiceMethods) + createClientMock(TeamServiceMethods) const [userClient, userClientMock] = - createClientMock(User.UserServiceMethods) - let teamActions!: Team.TeamActions - let userActions!: User.UserActions + createClientMock(UserServiceMethods) + let teamActions!: TeamActions + let userActions!: UserActions beforeEach(() => { teamClientMock.find.mockResolvedValue(teams) teamClientMock.findUsers.mockResolvedValue(users) @@ -48,7 +48,7 @@ describe('TeamConnector', () => { , ) - const teams: Team.Team[] = [{ + const teams: Team[] = [{ id: 100, name: 'my-team', userId: 1, @@ -57,7 +57,7 @@ describe('TeamConnector', () => { userTeams: [], }] - const users: Team.ITeamUsers = { + const users: ITeamUsers = { teamId: 123, usersInTeam: [{ teamId: 123, @@ -84,7 +84,7 @@ describe('TeamConnector', () => { }) it('creates a new team', async () => { - const newTeam: Team.Team = { + const newTeam: Team = { id: 101, name: 'new-team', createDate: '', diff --git a/packages/client/src/team/TeamConnector.ts b/packages/client/src/team/TeamConnector.ts index eca5f2f..63f881a 100644 --- a/packages/client/src/team/TeamConnector.ts +++ b/packages/client/src/team/TeamConnector.ts @@ -1,12 +1,11 @@ -import { team, user } from '@rondo.dev/common' -import { TReduxed } from '@rondo.dev/jsonrpc' +import { TeamActions, UserActions } from '@rondo.dev/common' import { bindActionCreators, pack, TStateSelector } from '@rondo.dev/redux' import { TeamManager } from './TeamManager' import { ITeamState } from './TeamReducer' export function configure( - teamActions: team.TeamActions, - userActions: user.UserActions, + teamActions: TeamActions, + userActions: UserActions, getLocalState: TStateSelector, ) { const Component = pack( diff --git a/packages/client/src/team/TeamEditor.tsx b/packages/client/src/team/TeamEditor.tsx index 9423f7b..12ae009 100644 --- a/packages/client/src/team/TeamEditor.tsx +++ b/packages/client/src/team/TeamEditor.tsx @@ -1,15 +1,15 @@ -import { team as Team } from '@rondo.dev/common' import { Button, Control, Heading, Help, Input } from 'bloomer' import React from 'react' import { FaCheck, FaEdit, FaPlusSquare } from 'react-icons/fa' +import { TeamActions, Team } from '@rondo.dev/common' export type TTeamEditorProps = { type: 'add' - onAddTeam: Team.TeamActions['create'] + onAddTeam: TeamActions['create'] } | { type: 'update' - onUpdateTeam: Team.TeamActions['update'] - team: Team.Team + onUpdateTeam: TeamActions['update'] + team: Team } export interface ITeamEditorState { @@ -27,7 +27,7 @@ extends React.PureComponent { name: props.type === 'update' ? this.getName(props.team) : '', } } - getName(team?: Team.Team) { + getName(team?: Team) { return team ? team.name : '' } componentWillReceiveProps(nextProps: TTeamEditorProps) { diff --git a/packages/client/src/team/TeamList.tsx b/packages/client/src/team/TeamList.tsx index 960ef87..ff5576c 100644 --- a/packages/client/src/team/TeamList.tsx +++ b/packages/client/src/team/TeamList.tsx @@ -1,21 +1,21 @@ -import { team as Team, TReadonlyRecord } from '@rondo.dev/common' +import { TReadonlyRecord, Team, TeamActions } from '@rondo.dev/common' import { Button, Panel, PanelBlock, PanelHeading } from 'bloomer' import React from 'react' import { FaEdit, FaPlus, FaTimes } from 'react-icons/fa' import { Link } from 'react-router-dom' export interface ITeamListProps { - ListButtons?: React.ComponentType<{team: Team.Team}> - teamsById: TReadonlyRecord + ListButtons?: React.ComponentType<{team: Team}> + teamsById: TReadonlyRecord teamIds: ReadonlyArray - onAddTeam: Team.TeamActions['create'] - onRemoveTeam: Team.TeamActions['remove'] + onAddTeam: TeamActions['create'] + onRemoveTeam: TeamActions['remove'] } export interface ITeamProps { - ListButtons?: React.ComponentType<{team: Team.Team}> - team: Team.Team - onRemoveTeam: Team.TeamActions['remove'] + ListButtons?: React.ComponentType<{team: Team}> + team: Team + onRemoveTeam: TeamActions['remove'] } export class TeamRow extends React.PureComponent { diff --git a/packages/client/src/team/TeamManager.tsx b/packages/client/src/team/TeamManager.tsx index ded126a..19146e7 100644 --- a/packages/client/src/team/TeamManager.tsx +++ b/packages/client/src/team/TeamManager.tsx @@ -1,4 +1,4 @@ -import { IUserInTeam, team as Team, TReadonlyRecord, user as User } from '@rondo.dev/common' +import { IUserInTeam, TReadonlyRecord, TeamActions, UserActions, Team } from '@rondo.dev/common' import { Panel, PanelBlock, PanelHeading } from 'bloomer' import { History, Location } from 'history' import React from 'react' @@ -13,12 +13,12 @@ export interface ITeamManagerProps { location: Location match: Match - ListButtons?: React.ComponentType<{team: Team.Team}> + ListButtons?: React.ComponentType<{team: Team}> - teamActions: Team.TeamActions - findUserByEmail: User.UserActions['findUserByEmail'] + teamActions: TeamActions + findUserByEmail: UserActions['findUserByEmail'] - teamsById: TReadonlyRecord + teamsById: TReadonlyRecord teamIds: ReadonlyArray userKeysByTeamId: TReadonlyRecord> diff --git a/packages/client/src/team/TeamReducer.ts b/packages/client/src/team/TeamReducer.ts index 7c3f9e0..ffc5373 100644 --- a/packages/client/src/team/TeamReducer.ts +++ b/packages/client/src/team/TeamReducer.ts @@ -1,4 +1,4 @@ -import { indexBy, ITeam, IUserInTeam, team as T, TReadonlyRecord, without } from '@rondo.dev/common' +import { indexBy, Team as _Team, IUserInTeam, TReadonlyRecord, without, TeamActions } from '@rondo.dev/common' import { createReducer } from '@rondo.dev/jsonrpc' export interface ITeamState { @@ -6,7 +6,7 @@ export interface ITeamState { readonly error: string readonly teamIds: ReadonlyArray - readonly teamsById: TReadonlyRecord + readonly teamsById: TReadonlyRecord readonly userKeysByTeamId: TReadonlyRecord> readonly usersByKey: TReadonlyRecord @@ -28,7 +28,7 @@ function getUserKey(userInTeam: {userId: number, teamId: number}) { } export const Team = createReducer('teamService', defaultState) -.withMapping({ +.withMapping({ create(state, action) { return { teamIds: state.teamIds.indexOf(action.payload.id) >= 0 diff --git a/packages/client/src/team/TeamUserList.tsx b/packages/client/src/team/TeamUserList.tsx index 6c2eda2..467259f 100644 --- a/packages/client/src/team/TeamUserList.tsx +++ b/packages/client/src/team/TeamUserList.tsx @@ -1,4 +1,4 @@ -import { IUser, IUserInTeam, team as Team, TReadonlyRecord, user as User } from '@rondo.dev/common' +import { IUser, IUserInTeam, TReadonlyRecord, TeamActions, UserActions, Team } from '@rondo.dev/common' import { Button, Control, Heading, Help, Input, Panel, PanelBlock, PanelHeading } from 'bloomer' import React from 'react' import { FaCheck, FaTimes, FaUser } from 'react-icons/fa' @@ -7,13 +7,13 @@ const EMPTY_ARRAY: ReadonlyArray = [] export interface ITeamUsersProps { // fetchMyTeams: () => void, - fetchUsersInTeam: Team.TeamActions['findUsers'] - findUserByEmail: User.UserActions['findUserByEmail'] + fetchUsersInTeam: TeamActions['findUsers'] + findUserByEmail: UserActions['findUserByEmail'] - onAddUser: Team.TeamActions['addUser'] - onRemoveUser: Team.TeamActions['removeUser'] + onAddUser: TeamActions['addUser'] + onRemoveUser: TeamActions['removeUser'] - team: Team.Team + team: Team userKeysByTeamId: TReadonlyRecord> usersByKey: TReadonlyRecord } @@ -25,8 +25,8 @@ export interface ITeamUserProps { } export interface IAddUserProps { - onAddUser: Team.TeamActions['addUser'] - onSearchUser: User.UserActions['findUserByEmail'] + onAddUser: TeamActions['addUser'] + onSearchUser: UserActions['findUserByEmail'] teamId: number } diff --git a/packages/client/tsconfig.esm.json b/packages/client/tsconfig.esm.json index bda1d6f..03eb300 100644 --- a/packages/client/tsconfig.esm.json +++ b/packages/client/tsconfig.esm.json @@ -5,7 +5,7 @@ }, "references": [ { - "path": "../comments-common/tsconfig.esm.json" + "path": "../common/tsconfig.esm.json" } ] } diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index 927afb0..c6b43c3 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -6,6 +6,6 @@ }, "references": [ {"path": "../redux"}, - {"path": "../comments-common"} + {"path": "../common"} ] } diff --git a/packages/common/src/IAPIDef.ts b/packages/common/src/IAPIDef.ts index f57a5a3..69fb63b 100644 --- a/packages/common/src/IAPIDef.ts +++ b/packages/common/src/IAPIDef.ts @@ -1,6 +1,5 @@ -import { ICredentials } from './ICredentials' -import { INewUser } from './INewUser' -import { IUser } from './IUser' +import { IUser, INewUser } from './user' +import { ICredentials } from './auth' export interface IAPIDef { '/auth/register': { diff --git a/packages/common/src/ITeam.ts b/packages/common/src/ITeam.ts deleted file mode 100644 index b82b4fb..0000000 --- a/packages/common/src/ITeam.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface ITeam { - readonly id: number - readonly name: string - readonly userId: number -} diff --git a/packages/common/src/IUserTeam.ts b/packages/common/src/IUserTeam.ts deleted file mode 100644 index f7eb572..0000000 --- a/packages/common/src/IUserTeam.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {ITeam} from './ITeam' - -export interface IUserTeam { - userId: number - teamId: number - roleId: number - team?: ITeam -} diff --git a/packages/common/src/ICredentials.ts b/packages/common/src/auth/ICredentials.ts similarity index 100% rename from packages/common/src/ICredentials.ts rename to packages/common/src/auth/ICredentials.ts diff --git a/packages/common/src/auth/index.ts b/packages/common/src/auth/index.ts new file mode 100644 index 0000000..e2e597a --- /dev/null +++ b/packages/common/src/auth/index.ts @@ -0,0 +1 @@ +export * from './ICredentials' diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index 8623671..d1ce5c8 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -1,26 +1,17 @@ export * from './entities' export * from './IContext' export * from './IAPIDef' -export * from './ICredentials' +export * from './auth' export * from './ILogger' -export * from './INewUser' export * from './IRole' -export * from './ITeam' -export * from './IUser' -export * from './IUser' -export * from './IUserInTeam' -export * from './IUserTeam' export * from './StringUtils' export * from './filterProps' export * from './indexBy' export * from './types' export * from './without' -import * as team from './team' -export {team} - -import * as user from './user' -export {user} +export * from './team' +export * from './user' import * as entities from './entities' export {entities} diff --git a/packages/common/src/team/ITeamAddUserParams.ts b/packages/common/src/team/ITeamAddUserParams.ts new file mode 100644 index 0000000..bdee3ad --- /dev/null +++ b/packages/common/src/team/ITeamAddUserParams.ts @@ -0,0 +1,5 @@ +export interface ITeamAddUserParams { + teamId: number + userId: number + roleId: number +} diff --git a/packages/common/src/team/ITeamCreateParams.ts b/packages/common/src/team/ITeamCreateParams.ts new file mode 100644 index 0000000..742287f --- /dev/null +++ b/packages/common/src/team/ITeamCreateParams.ts @@ -0,0 +1,3 @@ +export interface ITeamCreateParams { + name: string +} diff --git a/packages/common/src/team/ITeamRemoveParams.ts b/packages/common/src/team/ITeamRemoveParams.ts new file mode 100644 index 0000000..c5ff2a4 --- /dev/null +++ b/packages/common/src/team/ITeamRemoveParams.ts @@ -0,0 +1,3 @@ +export interface ITeamRemoveParams { + id: number +} diff --git a/packages/common/src/team.ts b/packages/common/src/team/ITeamService.ts similarity index 58% rename from packages/common/src/team.ts rename to packages/common/src/team/ITeamService.ts index 0fdd2da..4062d24 100644 --- a/packages/common/src/team.ts +++ b/packages/common/src/team/ITeamService.ts @@ -1,39 +1,13 @@ -// import {ITeam} from './ITeam' import { TReduxed } from '@rondo.dev/jsonrpc' import { keys } from 'ts-transformer-keys' -import { Team } from './entities' +import { Team } from '../entities' +import { ITeamAddUserParams } from './ITeamAddUserParams' +import { ITeamCreateParams } from './ITeamCreateParams' +import { ITeamRemoveParams } from './ITeamRemoveParams' +import { ITeamUpdateParams } from './ITeamUpdateParams' +import { ITeamUsers } from './ITeamUsers' import { IUserInTeam } from './IUserInTeam' -export { Team } - -export interface ITeamAddUserParams { - teamId: number - userId: number - roleId: number -} - -export interface ITeamCreateParams { - name: string -} - -export interface ITeamRemoveParams { - id: number -} - -export interface ITeamUpdateParams { - id: number - name: string -} - -export interface ITeamUsers { - teamId: number - usersInTeam: IUserInTeam[] -} - -export interface IContext { - userId: number -} - export interface ITeamService { create(params: ITeamCreateParams): Promise @@ -50,8 +24,6 @@ export interface ITeamService { find(): Promise findUsers(teamId: number): Promise - - // TODO add other methods } export const TeamServiceMethods = keys() diff --git a/packages/common/src/team/ITeamUpdateParams.ts b/packages/common/src/team/ITeamUpdateParams.ts new file mode 100644 index 0000000..a114b60 --- /dev/null +++ b/packages/common/src/team/ITeamUpdateParams.ts @@ -0,0 +1,4 @@ +export interface ITeamUpdateParams { + id: number + name: string +} diff --git a/packages/common/src/team/ITeamUsers.ts b/packages/common/src/team/ITeamUsers.ts new file mode 100644 index 0000000..79a451b --- /dev/null +++ b/packages/common/src/team/ITeamUsers.ts @@ -0,0 +1,6 @@ +import { IUserInTeam } from './IUserInTeam' + +export interface ITeamUsers { + teamId: number + usersInTeam: IUserInTeam[] +} diff --git a/packages/common/src/IUserInTeam.ts b/packages/common/src/team/IUserInTeam.ts similarity index 100% rename from packages/common/src/IUserInTeam.ts rename to packages/common/src/team/IUserInTeam.ts diff --git a/packages/common/src/team/index.ts b/packages/common/src/team/index.ts new file mode 100644 index 0000000..f29a050 --- /dev/null +++ b/packages/common/src/team/index.ts @@ -0,0 +1,7 @@ +export * from './ITeamAddUserParams' +export * from './ITeamCreateParams' +export * from './ITeamRemoveParams' +export * from './ITeamService' +export * from './ITeamUpdateParams' +export * from './ITeamUsers' +export * from './IUserInTeam' diff --git a/packages/common/src/INewUser.ts b/packages/common/src/user/INewUser.ts similarity index 64% rename from packages/common/src/INewUser.ts rename to packages/common/src/user/INewUser.ts index 3a5ac67..94c15cb 100644 --- a/packages/common/src/INewUser.ts +++ b/packages/common/src/user/INewUser.ts @@ -1,4 +1,4 @@ -import {ICredentials} from './ICredentials' +import {ICredentials} from '../auth/ICredentials' export interface INewUser extends ICredentials { firstName: string diff --git a/packages/common/src/IUser.ts b/packages/common/src/user/IUser.ts similarity index 100% rename from packages/common/src/IUser.ts rename to packages/common/src/user/IUser.ts diff --git a/packages/common/src/user.ts b/packages/common/src/user/IUserService.ts similarity index 64% rename from packages/common/src/user.ts rename to packages/common/src/user/IUserService.ts index b69ab73..be4be8f 100644 --- a/packages/common/src/user.ts +++ b/packages/common/src/user/IUserService.ts @@ -1,18 +1,7 @@ import { TReduxed } from '@rondo.dev/jsonrpc' import { keys } from 'ts-transformer-keys' -import { ICredentials } from './ICredentials' import { IUser } from './IUser' -export interface IChangePasswordParams { - oldPassword: string - newPassword: string -} - -export interface ICreateUserParams extends ICredentials { - firstName: string - lastName: string -} - export interface IUserService { getProfile(): Promise // TODO exposing search by email might be a security concern diff --git a/packages/common/src/user/index.ts b/packages/common/src/user/index.ts new file mode 100644 index 0000000..5e9ea66 --- /dev/null +++ b/packages/common/src/user/index.ts @@ -0,0 +1,3 @@ +export * from './INewUser' +export * from './IUserService' +export * from './IUser' diff --git a/packages/server/src/rpc/TeamService.test.ts b/packages/server/src/rpc/TeamService.test.ts index 8a916ce..03a43cb 100644 --- a/packages/server/src/rpc/TeamService.test.ts +++ b/packages/server/src/rpc/TeamService.test.ts @@ -1,4 +1,4 @@ -import { team as Team } from '@rondo.dev/common' +import { TeamServiceMethods, ITeamService } from '@rondo.dev/common' import { test } from '../test' describe('team', () => { @@ -15,9 +15,9 @@ describe('team', () => { }) const getClient = () => - test.rpc( + test.rpc( '/rpc/teamService', - Team.TeamServiceMethods, + TeamServiceMethods, headers, ) diff --git a/packages/server/src/rpc/TeamService.ts b/packages/server/src/rpc/TeamService.ts index f3068b7..2e46c3d 100644 --- a/packages/server/src/rpc/TeamService.ts +++ b/packages/server/src/rpc/TeamService.ts @@ -6,19 +6,23 @@ import {IUserPermissions} from '../services/IUserPermissions' import { trim, entities as e, - team as t, - IUserInTeam, + ITeamService, + ITeamCreateParams, + ITeamRemoveParams, + ITeamUpdateParams, + ITeamAddUserParams, } from '@rondo.dev/common' import { ensureLoggedIn, IContext, RPC } from './RPC' +import { IUserInTeam } from '@rondo.dev/common/lib/team/IUserInTeam' @ensureLoggedIn -export class TeamService implements RPC { +export class TeamService implements RPC { constructor( protected readonly db: IDatabase, protected readonly permissions: IUserPermissions, ) {} - async create(context: IContext, params: t.ITeamCreateParams) { + async create(context: IContext, params: ITeamCreateParams) { const userId = context.user!.id const name = trim(params.name) @@ -42,7 +46,7 @@ export class TeamService implements RPC { return (await this.findOne(context, team.id))! } - async remove(context: IContext, {id}: t.ITeamRemoveParams) { + async remove(context: IContext, {id}: ITeamRemoveParams) { const userId = context.user!.id await this.permissions.belongsToTeam({ @@ -59,7 +63,7 @@ export class TeamService implements RPC { return {id} } - async update(context: IContext, {id, name}: t.ITeamUpdateParams) { + async update(context: IContext, {id, name}: ITeamUpdateParams) { const userId = context.user!.id await this.permissions.belongsToTeam({ @@ -77,7 +81,7 @@ export class TeamService implements RPC { return (await this.findOne(context, id))! } - async addUser(context: IContext, params: t.ITeamAddUserParams) { + async addUser(context: IContext, params: ITeamAddUserParams) { const {userId, teamId, roleId} = params await this.db.getRepository(UserTeam) .save({userId, teamId, roleId}) @@ -93,7 +97,7 @@ export class TeamService implements RPC { return this._mapUserInTeam(userTeam!) } - async removeUser(context: IContext, params: t.ITeamAddUserParams) { + async removeUser(context: IContext, params: ITeamAddUserParams) { const {teamId, userId, roleId} = params await this.permissions.belongsToTeam({ diff --git a/packages/server/src/rpc/UserService.test.ts b/packages/server/src/rpc/UserService.test.ts index 59f720f..ac18b44 100644 --- a/packages/server/src/rpc/UserService.test.ts +++ b/packages/server/src/rpc/UserService.test.ts @@ -1,5 +1,5 @@ import {test} from '../test' -import {user} from '@rondo.dev/common' +import { IUserService, UserServiceMethods } from '@rondo.dev/common' describe('user', () => { @@ -12,9 +12,9 @@ describe('user', () => { }) const createService = () => { - return test.rpc( + return test.rpc( '/rpc/userService', - user.UserServiceMethods, + UserServiceMethods, headers, ) } diff --git a/packages/server/src/rpc/UserService.ts b/packages/server/src/rpc/UserService.ts index 0092e0d..970374d 100644 --- a/packages/server/src/rpc/UserService.ts +++ b/packages/server/src/rpc/UserService.ts @@ -1,4 +1,4 @@ -import { user as u } from '@rondo.dev/common' +import { IUserService } from '@rondo.dev/common' import { compare, hash } from 'bcrypt' import createError from 'http-errors' import { IDatabase } from '../database/IDatabase' @@ -10,7 +10,7 @@ const SALT_ROUNDS = 10 const MIN_PASSWORD_LENGTH = 10 @ensureLoggedIn -export class UserService implements RPC { +export class UserService implements RPC { constructor(protected readonly db: IDatabase) {} async getProfile(context: IContext) {