Files
gridpilot.gg/packages/racing/application/dto/TeamCommandAndQueryDTO.ts
2025-12-04 15:15:24 +01:00

54 lines
1.1 KiB
TypeScript

import type { Team, TeamJoinRequest, TeamMembership } from '../../domain/entities/Team';
export interface JoinTeamCommandDTO {
teamId: string;
driverId: string;
}
export interface LeaveTeamCommandDTO {
teamId: string;
driverId: string;
}
export interface ApproveTeamJoinRequestCommandDTO {
requestId: string;
}
export interface RejectTeamJoinRequestCommandDTO {
requestId: string;
}
export interface UpdateTeamCommandDTO {
teamId: string;
updates: Partial<Pick<Team, 'name' | 'tag' | 'description' | 'leagues'>>;
updatedBy: string;
}
export type GetAllTeamsQueryResultDTO = Team[];
export interface GetTeamDetailsQueryParamsDTO {
teamId: string;
driverId: string;
}
export interface GetTeamDetailsQueryResultDTO {
team: Team;
membership: TeamMembership | null;
}
export interface GetTeamMembersQueryParamsDTO {
teamId: string;
}
export interface GetTeamJoinRequestsQueryParamsDTO {
teamId: string;
}
export interface GetDriverTeamQueryParamsDTO {
driverId: string;
}
export interface GetDriverTeamQueryResultDTO {
team: Team;
membership: TeamMembership;
}