58 lines
979 B
TypeScript
58 lines
979 B
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
|
|
class TeamDTO {
|
|
@ApiProperty()
|
|
id: string;
|
|
|
|
@ApiProperty()
|
|
name: string;
|
|
|
|
@ApiProperty()
|
|
tag: string;
|
|
|
|
@ApiProperty()
|
|
description: string;
|
|
|
|
@ApiProperty()
|
|
ownerId: string;
|
|
|
|
@ApiProperty({ type: [String] })
|
|
leagues: string[];
|
|
|
|
@ApiProperty({ required: false })
|
|
createdAt?: string;
|
|
|
|
@ApiProperty({ required: false })
|
|
specialization?: 'endurance' | 'sprint' | 'mixed';
|
|
|
|
@ApiProperty({ required: false })
|
|
region?: string;
|
|
|
|
@ApiProperty({ type: [String], required: false })
|
|
languages?: string[];
|
|
}
|
|
|
|
class MembershipDTO {
|
|
@ApiProperty()
|
|
role: 'owner' | 'manager' | 'member';
|
|
|
|
@ApiProperty()
|
|
joinedAt: string;
|
|
|
|
@ApiProperty()
|
|
isActive: boolean;
|
|
}
|
|
|
|
export class GetDriverTeamOutputDTO {
|
|
@ApiProperty({ type: TeamDTO })
|
|
team: TeamDTO;
|
|
|
|
@ApiProperty({ type: MembershipDTO })
|
|
membership: MembershipDTO;
|
|
|
|
@ApiProperty()
|
|
isOwner: boolean;
|
|
|
|
@ApiProperty()
|
|
canManage: boolean;
|
|
} |