import { ApiProperty } from '@nestjs/swagger'; import { Type } from 'class-transformer'; import { IsArray, IsDefined, IsEmail, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator'; // export class GetSelectedServiceProviderDTO { // @IsNumber() // p_spid: number; // } export class InsertSPContactsDTO { @ApiProperty({ required: true }) @IsNumber() p_spid: number; @ApiProperty({ required: true }) @IsString() p_defcontactflag: string; @ApiProperty({ required: true }) @IsString() p_firstname: string; @ApiProperty({ required: true }) @IsString() p_lastname: string; @ApiProperty({ required: false }) @IsString() P_MIDDLEINITIAL: string; @ApiProperty({ required: true }) @IsString() p_title: string; @ApiProperty({ required: true }) @IsString() p_phoneno: string; @ApiProperty({ required: true }) @IsString() p_mobileno: string; @ApiProperty({ required: true }) @IsString() p_faxno: string; @ApiProperty({ required: true }) @IsEmail() p_emailaddress: string; @ApiProperty({ required: true }) @IsString() p_user_id: string; } export class UpdateSPContactsDTO { @ApiProperty({ required: true }) @IsNumber() p_spcontactid: number; @ApiProperty({ required: true }) @IsString() p_firstname: string; @ApiProperty({ required: true }) @IsString() p_lastname: string; @ApiProperty({ required: false }) @IsString() P_MIDDLEINITIAL: string; @ApiProperty({ required: true }) @IsString() p_title: string; @ApiProperty({ required: true }) @IsString() p_phoneno: string; @ApiProperty({ required: true }) @IsString() p_mobileno: string; @ApiProperty({ required: true }) @IsString() p_faxno: string; @ApiProperty({ required: true }) @IsEmail() p_emailaddress: string; @ApiProperty({ required: true }) @IsString() p_user_id: string; } export class CreateCarnetSequenceDTO { @ApiProperty({ required: true }) @IsNumber() p_spid: number; @ApiProperty({ required: true }) @IsNumber() p_regionid: number; @ApiProperty({ required: true }) @IsNumber() p_startnumber: number; @ApiProperty({ required: true }) @IsNumber() p_endnumber: number; @ApiProperty({ required: true }) @IsString() p_carnettype: string; } export class CreateTableRecordDTO { @ApiProperty({ required: true }) @IsString() P_USERID: string; @ApiProperty({ required: true }) @IsString() P_TABLEFULLDESC: string; } export class CreateParamRecordDTO { @ApiProperty({ required: false }) @IsOptional() @IsNumber() P_SPID?: number; @ApiProperty({ required: true }) @IsString() P_PARAMTYPE: string; @ApiProperty({ required: true }) @IsString() P_PARAMDESC: string; @ApiProperty({ required: true }) @IsString() P_PARAMVALUE: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE1?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE2?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE3?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE4?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE5?: string; @ApiProperty({ required: true }) @IsNumber() P_SORTSEQ: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateParamRecordDTO { @ApiProperty({ required: false }) @IsOptional() @IsNumber() P_SPID?: number; @ApiProperty({ required: true }) @IsNumber() P_PARAMID: number; @ApiProperty({ required: true }) @IsString() P_PARAMDESC: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE1?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE2?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE3?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE4?: string; @ApiProperty({ required: false }) @IsOptional() @IsString() P_ADDLPARAMVALUE5?: string; @ApiProperty({ required: true }) @IsNumber() P_SORTSEQ: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateBasicFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsNumber() P_STARTCARNETVALUE: number; @ApiProperty({ required: true }) @IsNumber() P_ENDCARNETVALUE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsNumber() P_FEES: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateBondRateDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsString() P_HOLDERTYPE: string; @ApiProperty({ required: true }) @IsString() P_USCIBMEMBERFLAG: string; @ApiProperty({ required: true }) @IsString() P_SPCLCOMMODITY: string; @ApiProperty({ required: true }) @IsString() P_SPCLCOUNTRY: string; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateCargoRateDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsString() P_CARNETTYPE: string; @ApiProperty({ required: true }) @IsNumber() P_STARTSETS: number; @ApiProperty({ required: true }) @IsNumber() P_ENDSETS: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateCfFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsNumber() P_STARTSETS: number; @ApiProperty({ required: true }) @IsNumber() P_ENDSETS: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_CUSTOMERTYPE: string; @ApiProperty({ required: true }) @IsString() P_CARNETTYPE: string; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateCsFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsString() P_CUSTOMERTYPE: string; @ApiProperty({ required: true }) @IsString() P_CARNETTYPE: string; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateEfFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsString() P_CUSTOMERTYPE: string; @ApiProperty({ required: true }) @IsString() P_DELIVERYTYPE: string; @ApiProperty({ required: true }) @IsNumber() P_STARTTIME: number; @ApiProperty({ required: true }) @IsNumber() P_ENDTIME: number; @ApiProperty({ required: true }) @IsString() P_TIMEZONE: string; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsNumber() P_FEES: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class CreateFeeCommDTO { @ApiProperty({ required: true }) @IsNumber() P_SPID: number; @ApiProperty({ required: true }) @IsNumber() P_PARAMID: number; @ApiProperty({ required: true }) @IsNumber() P_COMMRATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateBasicFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_BASICFEESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_FEES: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateBondRateDTO { @ApiProperty({ required: true }) @IsNumber() P_BONDRATESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateCargoRateDTO { @ApiProperty({ required: true }) @IsNumber() P_CARGORATESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateCfFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_CFFEESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateCsFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_CSFEESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } export class UpdateEfFeeDTO { @ApiProperty({ required: true }) @IsNumber() P_EFFEESETUPID: number; @ApiProperty({ required: true }) @IsNumber() P_FEES: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } // Existing UpdateFeeCommDTO export class UpdateFeeCommDTO { @ApiProperty({ required: true }) @IsNumber() P_FEECOMMID: number; @ApiProperty({ required: true }) @IsNumber() P_RATE: number; @ApiProperty({ required: true }) @IsString() P_EFFDATE: string; @ApiProperty({ required: true }) @IsString() P_USERID: string; } // New UpdateFeeCommBodyDTO export class UpdateFeeCommBodyDTO { @ApiProperty({ type: UpdateFeeCommDTO, required: true }) // Correctly reference UpdateFeeCommDTO p_fees_comm: UpdateFeeCommDTO; // No need for @IsObject() } export class ActivateOrInactivateParamRecordDTO { @ApiProperty({ required: true }) @IsNumber() P_PARAMID: number; @ApiProperty({ required: true }) @IsString() P_USERID: string; } //-------------------------------- export class UserDTO { @ApiProperty({ required: true }) @IsNumber() id: number; @ApiProperty({ required: true }) @IsDefined({ message: "Property name is required" }) @IsString({ message: "property name is required" }) name: string; } export class TestDTO { @ApiProperty({ required: true }) @IsNumber() ItemNo: number; @ApiProperty({ required: true, type: () => [UserDTO] }) @Type(() => UserDTO) @ValidateNested({ each: true }) @IsArray() user: UserDTO[]; }