import { IsOptional, IsString, IsEnum } from 'class-validator';
import { ApiPropertyOptional } from '@nestjs/swagger';
import { AttendanceMethod } from 'common/enums/attendance-method.enum';

export class UpdateProfileDto {
  @ApiPropertyOptional({
    example: 'Ahmad',
    description: 'User full name',
  })
  @IsOptional()
  @IsString()
  name?: string;

  @ApiPropertyOptional({
    enum: AttendanceMethod,
    example: AttendanceMethod.GPS,
    description: 'Attendance method (GPS or BIOMETRIC)',
  })
  @IsOptional()
  @IsEnum(AttendanceMethod)
  attendanceMethod?: AttendanceMethod;

  @ApiPropertyOptional({
    example: 'DEVICE-12345',
    description: 'Biometric device ID (required if method is BIOMETRIC)',
  })
  @IsOptional()
  @IsString()
  biometricDeviceId?: string;
}