31 lines
994 B
TypeScript
31 lines
994 B
TypeScript
import { RPCActions } from '@rondo.dev/jsonrpc'
|
|
import { keys } from 'ts-transformer-keys'
|
|
import { Team } from '../entities'
|
|
import { TeamAddUserParams } from './TeamAddUserParams'
|
|
import { TeamCreateParams } from './TeamCreateParams'
|
|
import { TeamRemoveParams } from './TeamRemoveParams'
|
|
import { TeamUpdateParams } from './TeamUpdateParams'
|
|
import { TeamUsers } from './TeamUsers'
|
|
import { UserInTeam } from './UserInTeam'
|
|
|
|
export interface TeamService {
|
|
create(params: TeamCreateParams): Promise<Team>
|
|
|
|
remove(params: TeamRemoveParams): Promise<{id: number}>
|
|
|
|
update(params: TeamUpdateParams): Promise<Team>
|
|
|
|
addUser(params: TeamAddUserParams): Promise<UserInTeam>
|
|
|
|
removeUser(params: TeamAddUserParams): Promise<TeamAddUserParams>
|
|
|
|
findOne(id: number): Promise<Team | undefined>
|
|
|
|
find(): Promise<Team[]>
|
|
|
|
findUsers(teamId: number): Promise<TeamUsers>
|
|
}
|
|
|
|
export const TeamServiceMethods = keys<TeamService>()
|
|
export type TeamActions = RPCActions<TeamService, 'teamService'>
|