import { IsArray, IsIn, IsOptional, IsString, MaxLength, MinLength, ValidateNested, } from 'class-validator'; import { Type } from 'class-transformer'; export class CreateTeamDto { @IsString() @MinLength(2) @MaxLength(80) name!: string; @IsOptional() @IsString() @MaxLength(300) description?: string; @IsOptional() @IsArray() @IsString({ each: true }) memberIds?: string[]; @IsOptional() @IsArray() @IsString({ each: true }) managerIds?: string[]; } export class UpdateTeamDto { @IsOptional() @IsString() @MinLength(2) @MaxLength(80) name?: string; @IsOptional() @IsString() @MaxLength(300) description?: string; } class TeamMemberInputDto { @IsString() userId!: string; @IsIn(['member', 'manager']) role!: 'member' | 'manager'; } export class SetTeamMembersDto { @IsArray() @ValidateNested({ each: true }) @Type(() => TeamMemberInputDto) members!: TeamMemberInputDto[]; }