import { ApiProperty } from '@nestjs/swagger'; import { Transform } from 'class-transformer'; import { IsDefined, IsInt, IsNumber, IsString, Min } from 'class-validator'; export class GetFeeGeneralDTO { @ApiProperty({ required: true }) @Transform(({ value }) => Number(value)) @Min(0, { message: 'Property P_SPID must be at least 0' }) @IsInt({ message: 'Property P_SPID must be a whole number' }) @IsNumber({}, { message: 'Property P_SPID must be a number' }) @IsDefined({ message: 'Property P_SPID is required' }) P_SPID: number; @ApiProperty({ required: true }) @IsString({ message: 'Property P_ACTIVE_INACTIVE must be a string' }) @IsDefined({ message: 'Property P_ACTIVE_INACTIVE is required' }) P_ACTIVE_INACTIVE: 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; } 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() }