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

export class CreateSubDepartmentDto {
  @ApiProperty({
    description: "Sub Department Name",
    example: "Marketing",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "name",
    }),
  })
  @IsString({
    message: validationMessage(messageKey.field_type_validation_error, {
      ":field": "name",
      ":type": "string",
    }),
  })
  name: string

  @ApiProperty({
    description: "Parent ID",
    example: 2,
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "parent_id",
    }),
  })
  @IsInt({
    message: validationMessage(messageKey.field_type_validation_error, {
      ":field": "parent_id",
      ":type": "integer",
    }),
  })
  parent_id: number
}
