import { IsEmail, IsIn, IsNotEmpty } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import type { ProjectRoleType } from '../entities/project-member.entity';

// 프로젝트 멤버 초대 DTO — 가입된 사용자를 이메일로 초대
export class InviteProjectMemberDto {
  @ApiProperty({
    description: '초대할 사용자 이메일(이미 가입된 사용자)',
    example: 'sykim@acme.co',
  })
  @IsEmail({}, { message: '올바른 이메일 형식을 입력해 주세요.' })
  @IsNotEmpty({ message: '이메일은 필수 입력 항목입니다.' })
  email!: string;

  @ApiProperty({
    description: '권한 역할',
    enum: ['admin', 'member'],
    example: 'member',
  })
  @IsIn(['admin', 'member'], { message: '권한 역할을 선택해 주세요.' })
  roleType!: ProjectRoleType;
}
