import { ApiProperty } from "@nestjs/swagger"
import {
  ArrayNotEmpty,
  IsArray,
  IsNotEmpty,
  IsNumber,
  Min,
} from "class-validator"
import { messageKey } from "src/constants/message-keys"
import { validationMessage } from "src/utils/helpers"

export class CreateKpiDto {
  @ApiProperty({
    description: "name",
    example: "Code Review",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "Name",
    }),
  })
  name: string

  @ApiProperty({
    description: "Array of the department IDs",
    example: [1, 2, 4],
    type: [Number],
  })
  @IsArray()
  @ArrayNotEmpty()
  @IsNumber({}, { each: true })
  @Min(1, { each: true })
  department_ids: number[]
}
