import { ApiProperty } from '@nestjs/swagger'; import { Transform } from 'class-transformer'; import { IsDefined, IsInt, IsNumber, IsString, Length, Matches, Min } from 'class-validator'; 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 }) @Length(0, 3, {message:"Property P_HOLDERTYPE must be between 0 to 3 characters"}) @IsString({message:"Property P_USERID must be a string"}) @IsDefined({ message: 'Property P_USERID is required' }) 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; } 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; } export class UpdateFeeCommBodyDTO { @ApiProperty({ type: UpdateFeeCommDTO, required: true }) // Correctly reference UpdateFeeCommDTO p_fees_comm: UpdateFeeCommDTO; // No need for @IsObject() }