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

export class CompanyLoginDto {
  @ApiProperty({
    description: "Company user email address",
    example: "admin@moweb.com",
  })
  @IsEmail({}, { message: validationMessage(messageKey.email_invalid) })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "email",
    }),
  })
  email: string

  @ApiProperty({
    description: "Company user password",
    example: "Admin@123",
  })
  @IsString({
    message: validationMessage(messageKey.field_required, {
      ":field": "password",
    }),
  })
  @MinLength(6, {
    message: "Password must be at least 6 characters long",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "password",
    }),
  })
  password: string
}
