import { ApiProperty } from "@nestjs/swagger"
import { IsInt, IsNotEmpty } from "class-validator"
import { messageKey } from "../../../constants/message-keys"
import { validationMessage } from "../../../utils/helpers"

export class CreateEmployeeFlagDto {
  @ApiProperty({
    description: "Flag ID",
    example: 1,
  })
  @IsInt({
    message: validationMessage(messageKey.field_type_validation_error, {
      ":field": "Flag ID",
      ":type": "integer",
    }),
  })
  flag_id: number

  @ApiProperty({
    description: "Resolution Date",
    example: "2025-11-25",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "Resolution Date",
    }),
  })
  resolve_at: string

  @ApiProperty({
    description: "Employee Id",
    example: "7",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "Employee Id",
    }),
  })
  employee_id: string

  @ApiProperty({
    description: "Reason",
    example: "miss communication",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "Reason",
    }),
  })
  reason: string
}
