import { IsUUID, IsOptional, IsBoolean, IsString } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';

export class AddDepartmentMemberDto {
  @ApiProperty({ description: '用户ID' })
  @IsUUID()
  userId: string;

  @ApiProperty({ description: '岗位ID（可选）', required: false })
  @IsOptional()
  @IsUUID()
  positionId?: string;

  @ApiProperty({ description: '直属上级ID（可选）', required: false })
  @IsOptional()
  @IsUUID()
  managerId?: string;

  @ApiProperty({ description: '是否设为主部门', default: false, required: false })
  @IsOptional()
  @IsBoolean()
  isPrimary?: boolean;

  @ApiProperty({ description: '职位头衔（可选）', required: false })
  @IsOptional()
  @IsString()
  title?: string;
}

export class AddDepartmentMembersDto {
  @ApiProperty({ description: '用户ID列表' })
  @IsUUID('4', { each: true })
  userIds: string[];

  @ApiProperty({ description: '岗位ID（可选，应用于所有用户）', required: false })
  @IsOptional()
  @IsUUID()
  positionId?: string;

  @ApiProperty({ description: '是否设为主部门', default: false, required: false })
  @IsOptional()
  @IsBoolean()
  isPrimary?: boolean;
}

