85 lines
3.5 KiB
TypeScript
85 lines
3.5 KiB
TypeScript
import { ApiProperty } from "@nestjs/swagger";
|
|
import { Transform } from "class-transformer";
|
|
import { IsDefined, IsEmail, IsEnum, IsInt, IsNumber, IsString, Length, Min } from "class-validator";
|
|
import { YON } from "src/dto/carnet-application/carnet-application-property.dto";
|
|
|
|
export class SP_CONTACTID_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Min(0, { message: 'Property P_SPCONTACTID must be at least 0' })
|
|
@IsInt({ message: 'Property P_SPCONTACTID must be a whole number' })
|
|
@Transform(({ value }) => Number(value))
|
|
@IsNumber({}, { message: 'Property P_SPCONTACTID must be a number' })
|
|
@IsDefined({ message: 'Property P_SPCONTACTID is required' })
|
|
P_SPCONTACTID: number;
|
|
}
|
|
|
|
export class DEFAULT_CONTACT_FLAG_DTO {
|
|
@ApiProperty({ required: true, enum: YON })
|
|
@Transform(({ value }) => typeof value === 'string' ? value.trim().toUpperCase() : value)
|
|
@IsEnum(YON, { message: 'P_DEFCONTACTFLAG must be either "Y" or "N"' })
|
|
@Length(1, 1, { message: 'P_DEFCONTACTFLAG must be between 5 and 6 characters' }) // Note: This message may not match actual length constraint
|
|
@IsString()
|
|
@IsDefined({ message: "Invalid Request" })
|
|
P_DEFCONTACTFLAG: YON;
|
|
}
|
|
|
|
export class FIRSTNAME_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 50, { message: 'Property P_FIRSTNAME must be between 0 to 50 characters' })
|
|
@IsString({ message: 'Property FirP_FIRSTNAMEstName must be a string' })
|
|
@IsDefined({ message: 'Property P_FIRSTNAME is required' })
|
|
P_FIRSTNAME: string;
|
|
}
|
|
|
|
export class LASTNAME_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 50, { message: 'Property P_LASTNAME must be between 0 to 50 characters' })
|
|
@IsString({ message: 'Property P_LASTNAME must be a string' })
|
|
@IsDefined({ message: 'Property P_LASTNAME is required' })
|
|
P_LASTNAME: string;
|
|
}
|
|
|
|
export class MIDDLE_INITIAL_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 3, { message: 'Property P_MIDDLEINITIAL must be between 0 to 3 characters' })
|
|
@IsString({ message: 'Property P_MIDDLEINITIAL must be a string' })
|
|
P_MIDDLEINITIAL: string;
|
|
}
|
|
|
|
export class TITLE_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 50, { message: 'Property P_TITLE must be between 0 to 50 characters' })
|
|
@IsString({ message: 'Property P_TITLE must be a string' })
|
|
P_TITLE: string;
|
|
}
|
|
|
|
export class PHONE_NO_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 20, { message: 'Property P_PHONENO must be between 0 to 20 characters' })
|
|
@IsString({ message: 'Property P_PHONENO must be a string' })
|
|
@IsDefined({ message: 'Property P_PHONENO is required' })
|
|
P_PHONENO: string;
|
|
}
|
|
|
|
export class MOBILE_NO_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 20, { message: 'Property P_MOBILENO must be between 0 to 20 characters' })
|
|
@IsString({ message: 'Property P_MOBILENO must be a string' })
|
|
@IsDefined({ message: 'Property P_MOBILENO is required' })
|
|
P_MOBILENO: string;
|
|
}
|
|
|
|
export class FAX_NO_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 20, { message: 'Property FAXNO must be between 0 to 20 characters' })
|
|
@IsString({ message: 'Property FAXNO must be a string' })
|
|
P_FAXNO: string;
|
|
}
|
|
|
|
export class EMAIL_ADDRESS_DTO {
|
|
@ApiProperty({ required: true })
|
|
@Length(0, 100, { message: 'Property P_EMAILADDRESS must be between 0 to 100 characters' })
|
|
@IsString({ message: 'Property P_EMAILADDRESS must be a string' })
|
|
@IsDefined({ message: 'Property P_EMAILADDRESS is required' })
|
|
P_EMAILADDRESS: string;
|
|
} |