BE/src/oracle/home-page/home-page.dto.ts
2025-04-02 13:29:06 +05:30

364 lines
10 KiB
TypeScript

import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import {
IsArray,
IsDefined,
IsInt,
IsNumber,
IsOptional,
IsString,
Length,
Max,
Min,
ValidateNested,
} from 'class-validator';
export class p_gltableDTO {
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property ItemNo must not exceed 999999999' })
@Min(0, { message: 'Property ItemNo must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property ItemNo must be a number' })
@IsDefined({ message: 'Property ItemNo is required' })
ItemNo: number;
@ApiProperty({ required: true })
@Length(0, 1000, {
message: 'Property ItemDescription must be between 1 and 1000 characters',
})
@IsString({ message: 'Property ItemDescription should be string' })
@IsDefined({ message: 'Property ItemDescription is required' })
ItemDescription: string;
@ApiProperty({ required: true })
@IsNumber({}, { message: 'Property ItemValue should be number' })
@IsDefined({ message: 'Property ItemValue is required' })
ItemValue: number;
@ApiProperty({ required: true })
@Max(99999999999, {
message: 'Property Noofpieces must not exceed 99999999999',
})
@Min(0, { message: 'Property Noofpieces must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property Noofpieces must be a number' })
@IsDefined({ message: 'Property Noofpieces is required' })
Noofpieces: number;
@ApiProperty({ required: false })
@IsNumber()
@IsOptional()
ItemWeight?: number;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property ItemWeightUOM must be between 0 and 10 characters',
})
@IsString()
@IsOptional()
ItemWeightUOM?: string;
@ApiProperty({ required: true })
@Length(0, 2, {
message: 'Property GoodsOriginCountry must be between 0 and 2 characters',
})
@IsString({ message: 'Property GoodsOriginCountry should be string' })
@IsDefined({ message: 'Property name is required' })
GoodsOriginCountry: string;
}
export class p_countrytableDTO {
@ApiProperty({ required: true })
@Length(0, 1, {
message: 'Property VisitTransitInd must be 0 to 1 characters',
})
@IsString()
@IsDefined({ message: 'Property VisitTransitInd is required' })
VisitTransitInd: string;
@ApiProperty({ required: true })
@Length(0, 2, {
message: 'Property CountryCode must be between 0 to 2 characters',
})
@IsString()
@IsDefined({ message: 'Property CountryCode is required' })
CountryCode: string;
@ApiProperty({ required: true })
@Max(999, { message: 'Property NoOfTimesEntLeave must not exceed 999' })
@Min(0, { message: 'Property NoOfTimesEntLeave must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property NoOfTimesEntLeave must be a number' })
@IsDefined({ message: 'Property NoOfTimesEntLeave is required' })
NoOfTimesEntLeave: number;
}
export class SaveCarnetApplicationDTO {
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property p_spid must not exceed 999999999' })
@Min(0, { message: 'Property p_spid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_spid must be a number' })
p_spid: number;
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property p_clientid must not exceed 999999999' })
@Min(0, { message: 'Property p_clientid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_clientid must be a number' })
p_clientid: number;
@ApiProperty({ required: true })
@Max(999999999, {
message: 'Property p_locationid must not exceed 999999999',
})
@Min(0, { message: 'Property p_locationid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_locationid must be a number' })
p_locationid: number;
@ApiProperty({ required: true })
@Length(0, 50, {
message: 'Property p_userid must be between 0 to 50 characters',
})
@IsString()
p_userid: string;
@ApiProperty({ required: false })
@Max(999999999, { message: 'Property p_headerid must not exceed 999999999' })
@Min(0, { message: 'Property p_headerid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_headerid must be a number' })
@IsOptional()
p_headerid?: number;
@ApiProperty({ required: true })
@Length(0, 50, {
message: 'Property p_applicationname must be between 0 to 50 characters',
})
@IsString()
p_applicationname: string;
@ApiProperty({ required: false })
@Max(999999999, { message: 'Property p_holderid must not exceed 999999999' })
@Min(0, { message: 'Property p_holderid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_holderid must be a number' })
@IsOptional()
p_holderid?: number;
@ApiProperty({ required: false })
@Length(0, 1, {
message:
'Property p_commercialsampleflag must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_commercialsampleflag?: string;
@ApiProperty({ required: false })
@Length(0, 1, {
message: 'Property p_profequipmentflag must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_profequipmentflag?: string;
@ApiProperty({ required: false })
@Length(0, 1, {
message: 'Property p_exhibitionsfairflag must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_exhibitionsfairflag?: string;
@ApiProperty({ required: false })
@Length(0, 1, {
message: 'Property p_autoflag must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_autoflag?: string;
@ApiProperty({ required: false })
@Length(0, 1, {
message: 'Property p_horseflag must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_horseflag?: string;
@ApiProperty({ required: false })
@Length(0, 200, {
message: 'Property p_authrep must be between 0 to 200 characters',
})
@IsString()
@IsOptional()
p_authrep?: string;
@ApiProperty({ required: false, type: () => [p_gltableDTO] })
@Type(() => p_gltableDTO)
@ValidateNested({ each: true })
@IsArray()
// @ArrayNotEmpty({message:"Property gltable should not be empty"})
@IsOptional()
p_gltable?: p_gltableDTO[];
@ApiProperty({ required: false })
@Max(99999, { message: 'Property p_ussets must not exceed 99999' })
@Min(0, { message: 'Property p_ussets must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_ussets must be a number' })
@IsOptional()
p_ussets?: number;
@ApiProperty({ required: false, type: () => [p_countrytableDTO] })
@ValidateNested({ each: true })
@IsArray()
@Type(() => p_countrytableDTO)
@IsOptional()
p_countrytable?: p_countrytableDTO[];
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_shiptotype must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_shiptotype?: string;
@ApiProperty({ required: false })
@Max(999999999, {
message: 'Property p_shipaddrid must not exceed 999999999',
})
@Min(0, { message: 'Property p_shipaddrid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_shipaddrid must be a number' })
@IsOptional()
p_shipaddrid?: number;
@ApiProperty({ required: false })
@Length(0, 1, {
message: 'Property p_formofsecurity must be between 0 to 1 characters',
})
@IsString()
@IsOptional()
p_formofsecurity?: string;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_insprotection must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_insprotection?: string;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_ldiprotection must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_ldiprotection?: string;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_deliverytype must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_deliverytype?: string;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_deliverymethod must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_deliverymethod?: string;
@ApiProperty({ required: false })
@Length(0, 10, {
message: 'Property p_paymentmethod must be between 0 to 10 characters',
})
@IsString()
@IsOptional()
p_paymentmethod?: string;
@ApiProperty({ required: false })
@Length(0, 20, {
message: 'Property p_custcourierno must be between 0 to 20 characters',
})
@IsString()
@IsOptional()
p_custcourierno?: string;
@ApiProperty({ required: false })
@Length(0, 20, {
message: 'Property p_refno must be between 0 to 20 characters',
})
@IsString()
@IsOptional()
p_refno?: string;
@ApiProperty({ required: false })
@Length(0, 2000, {
message: 'Property p_notes must be between 0 to 2000 characters',
})
@IsString()
@IsOptional()
p_notes?: string;
}
export class TransmitApplicationtoProcessDTO {
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property p_spid must not exceed 999999999' })
@Min(0, { message: 'Property p_spid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_spid must be a number' })
@IsDefined({ message: 'Property p_spid is required' })
p_spid: number;
@ApiProperty({ required: true })
@Length(0, 50, {
message: 'Property p_userid must be between 0 to 50 characters',
})
@IsString()
@IsDefined({ message: 'Property p_userid is required' })
p_userid: string;
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property p_spid must not exceed 999999999' })
@Min(0, { message: 'Property p_spid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_headerid must be a number' })
@IsDefined({ message: 'Property p_headerid is required' })
p_headerid: number;
}
export class GetCarnetDetailsbyCarnetStatusDTO {
@ApiProperty({ required: true })
@Max(999999999, { message: 'Property p_spid must not exceed 999999999' })
@Min(0, { message: 'Property p_spid must be at least 0 or more' })
@IsInt()
@IsNumber({}, { message: 'Property p_spid must be a number' })
@IsDefined({ message: 'Property p_spid is required' })
p_spid: number;
@ApiProperty({ required: true })
@Length(0, 50, {
message: 'Property p_userid must be between 0 to 50 characters',
})
@IsString({ message: 'Property p_userid must be string' })
@IsDefined({ message: 'Property p_userid is required' })
p_userid: string;
@ApiProperty({ required: true })
@Length(0, 20, {
message: 'Property p_CarnetStatus must be between 0 to 20 characters',
})
@IsString()
@IsDefined({ message: 'Property p_CarnetStatus is required' })
p_CarnetStatus: string;
}