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

export class CreateRoleDto {
  @ApiProperty({
    description: "Role Name",
    example: "Admin",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "name",
    }),
  })
  @IsString({
    message: validationMessage(messageKey.field_type_validation_error, {
      ":field": "name",
      ":type": "string",
    }),
  })
  name: string

  @ApiProperty({
    description: "Role Status",
    example: 1,
    required: false,
  })
  @IsOptional()
  @IsNumber()
  status?: number
}
