added new api according to doc
This commit is contained in:
parent
dbd040e033
commit
0227d9ced0
@ -1,3 +1,7 @@
|
||||
GET http://localhost:3000/oracle/GetCarnetDetailsbyCarnetStatus/1/v/false
|
||||
|
||||
###
|
||||
|
||||
// CreateBasicFee
|
||||
POST http://localhost:3000/oracle/CreateBasicFee
|
||||
Content-Type: application/json
|
||||
|
||||
71
src/main.ts
71
src/main.ts
@ -1,17 +1,72 @@
|
||||
import { NestFactory } from '@nestjs/core';
|
||||
import { AppModule } from './app.module';
|
||||
import { ValidationPipe } from '@nestjs/common';
|
||||
import { BadRequestException, ValidationError, ValidationPipe } from '@nestjs/common';
|
||||
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
|
||||
import { SwaggerDocumentOptions } from '@nestjs/swagger';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create(AppModule, {cors:{
|
||||
"origin": "*",
|
||||
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
|
||||
"preflightContinue": false,
|
||||
"optionsSuccessStatus": 204
|
||||
}});
|
||||
app.useGlobalPipes(new ValidationPipe());
|
||||
const app = await NestFactory.create(AppModule, {
|
||||
cors: {
|
||||
"origin": "*",
|
||||
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
|
||||
"preflightContinue": false,
|
||||
"optionsSuccessStatus": 204
|
||||
}
|
||||
});
|
||||
|
||||
const returnErrorChildren = (x: any) => {
|
||||
if (x.children.length !== 0) {
|
||||
return x.children;
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
function extractConstraints(validationErrors:ValidationError[]) {
|
||||
const constraints: { [key: string]: string }[] = [];
|
||||
|
||||
function traverse(errors:ValidationError[]) {
|
||||
// console.log(errors);
|
||||
// console.log("--------------");
|
||||
for (const error of errors) {
|
||||
// If the error has constraints, add them to the list
|
||||
|
||||
console.log(error);
|
||||
console.log("--------------");
|
||||
|
||||
if (error.constraints) {
|
||||
constraints.push(error.constraints);
|
||||
}
|
||||
// // If there are children, recursively traverse them
|
||||
if (error.children && error.children.length > 0) {
|
||||
traverse(error.children);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
traverse(validationErrors);
|
||||
return constraints;
|
||||
}
|
||||
|
||||
const customExceptionFactory = (validationErrors: ValidationError[]) => {
|
||||
|
||||
let res = extractConstraints(validationErrors);
|
||||
|
||||
let newResult = res.map(x=>{
|
||||
return {message:x[Object.keys(x)[0]]}
|
||||
}).filter(Boolean);
|
||||
|
||||
return new BadRequestException({ message: 'Validation failed', errors: newResult });
|
||||
};
|
||||
|
||||
// app.useGlobalPipes(new ValidationPipe({ exceptionFactory:customExceptionFactory, whitelist: true, forbidNonWhitelisted: true, transform: true }));
|
||||
|
||||
app.useGlobalPipes(new ValidationPipe({
|
||||
exceptionFactory: customExceptionFactory,
|
||||
stopAtFirstError: true,
|
||||
whitelist: true,
|
||||
forbidNonWhitelisted: true,
|
||||
transform: true
|
||||
}));
|
||||
|
||||
const config = new DocumentBuilder()
|
||||
.setTitle('API')
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { OracleDBService } from "src/db/db.service";
|
||||
import * as oracledb from 'oracledb'
|
||||
import { GetCarnetDetailsbyCarnetStatusDTO, SaveCarnetApplicationDTO, TransmitApplicationtoProcessDTO } from "./oracle.dto";
|
||||
|
||||
@Injectable()
|
||||
export class HomePageDataService {
|
||||
@ -264,7 +265,7 @@ export class HomePageDataService {
|
||||
|
||||
for (const key in tableData) {
|
||||
// console.log(key);
|
||||
|
||||
|
||||
output[key] = tableData[key].map(obj => {
|
||||
const newObj = { ...obj };
|
||||
for (const innerKey in obj) {
|
||||
@ -284,14 +285,14 @@ export class HomePageDataService {
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error fetching users: ', err);
|
||||
return {error: err.message}
|
||||
return { error: err.message }
|
||||
} finally { }
|
||||
}
|
||||
|
||||
async GetCarnetSummaryData(p_emailaddr: string) {
|
||||
|
||||
let connection;
|
||||
let rows:any = [];
|
||||
let rows: any = [];
|
||||
try {
|
||||
|
||||
connection = await this.oracleDBService.getConnection()
|
||||
@ -336,21 +337,21 @@ export class HomePageDataService {
|
||||
rows = rows.map(obj => {
|
||||
// Create a new object to hold the modified keys
|
||||
let newObj = {};
|
||||
|
||||
|
||||
// Iterate over the keys of the current object
|
||||
for (let key in obj) {
|
||||
// Replace spaces with underscores in the key
|
||||
let newKey = key.replace(/ /g, "_");
|
||||
newObj[newKey] = obj[key];
|
||||
}
|
||||
|
||||
|
||||
return newObj;
|
||||
});
|
||||
|
||||
rows = rows.reduce((acc, curr) => {
|
||||
// Find if the current item already exists in the accumulator
|
||||
let existing = acc.find(item => item["Service_Provider_Name"] === curr["Service_Provider_Name"] && item.SPID === curr.SPID);
|
||||
|
||||
|
||||
if (existing) {
|
||||
// If it exists, push the current "cs" and "c c" values into the arrays
|
||||
existing.CARNETSTATUS.push(curr.CARNETSTATUS);
|
||||
@ -364,7 +365,7 @@ export class HomePageDataService {
|
||||
"Carnet_Count": [curr["Carnet_Count"]]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
@ -372,9 +373,330 @@ export class HomePageDataService {
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error fetching users: ', err);
|
||||
return {error: err.message}
|
||||
return { error: err.message }
|
||||
} finally { }
|
||||
|
||||
}
|
||||
|
||||
async SaveCarnetApplication(body: SaveCarnetApplicationDTO) {
|
||||
|
||||
let connection;
|
||||
let rows = [];
|
||||
try {
|
||||
|
||||
connection = await this.oracleDBService.getConnection()
|
||||
if (!connection) {
|
||||
throw new Error('No DB Connected')
|
||||
}
|
||||
|
||||
const result = await connection.execute(
|
||||
`BEGIN
|
||||
CARNETAPPLICATION_PKG.SaveCarnetApplication(
|
||||
:p_spid
|
||||
:p_clientid
|
||||
:p_locationid
|
||||
:p_userid
|
||||
:p_headerid
|
||||
:p_applicationname
|
||||
:p_holderid
|
||||
:p_commercialsampleflag
|
||||
:p_profequipmentflag
|
||||
:p_exhibitionsfairflag
|
||||
:p_autoflag
|
||||
:p_horseflag
|
||||
:p_authrep
|
||||
:p_gltable
|
||||
:p_ussets
|
||||
:p_countrytable
|
||||
:p_shiptotype
|
||||
:p_shipaddrid
|
||||
:p_formofsecurity
|
||||
:p_insprotection
|
||||
:p_ldiprotection
|
||||
:p_deliverytype
|
||||
:p_deliverymethod
|
||||
:p_paymentmethod
|
||||
:p_custcourierno
|
||||
:p_refno
|
||||
:p_notes
|
||||
:P_cursor
|
||||
);
|
||||
END;`,
|
||||
{
|
||||
p_spid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_clientid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_locationid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_userid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_headerid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_applicationname: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_holderid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_commercialsampleflag: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_profequipmentflag: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_exhibitionsfairflag: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_autoflag: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_horseflag: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_authrep: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_gltable: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_OBJECT
|
||||
},
|
||||
p_ussets: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_countrytable: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_OBJECT
|
||||
},
|
||||
p_shiptotype: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_shipaddrid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_formofsecurity: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_insprotection: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_ldiprotection: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_deliverytype: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_deliverymethod: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_paymentmethod: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_custcourierno: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_refno: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_notes: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
|
||||
P_cursor: {
|
||||
type: oracledb.CURSOR,
|
||||
dir: oracledb.BIND_OUT
|
||||
}
|
||||
}, {
|
||||
outFormat: oracledb.OUT_FORMAT_OBJECT
|
||||
}
|
||||
);
|
||||
await connection.commit();
|
||||
|
||||
// let fres = await result.outBinds.P_cursor.getRows();
|
||||
|
||||
if (result.outBinds && result.outBinds.P_cursor) {
|
||||
const cursor = result.outBinds.P_cursor;
|
||||
let rowsBatch;
|
||||
|
||||
do {
|
||||
rowsBatch = await cursor.getRows(100);
|
||||
rows = rows.concat(rowsBatch);
|
||||
} while (rowsBatch.length > 0);
|
||||
|
||||
|
||||
await cursor.close();
|
||||
} else {
|
||||
throw new Error('No cursor returned from the stored procedure');
|
||||
}
|
||||
|
||||
return rows;
|
||||
|
||||
// return fres
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error fetching users: ', err);
|
||||
return { error: err.message }
|
||||
} finally { }
|
||||
}
|
||||
|
||||
async TransmitApplicationtoProcess(body: TransmitApplicationtoProcessDTO) {
|
||||
|
||||
let connection;
|
||||
let rows = [];
|
||||
try {
|
||||
|
||||
connection = await this.oracleDBService.getConnection()
|
||||
if (!connection) {
|
||||
throw new Error('No DB Connected')
|
||||
}
|
||||
|
||||
const result = await connection.execute(
|
||||
`BEGIN
|
||||
CARNETAPPLICATION_PKG.TransmitApplicationtoProcess(
|
||||
:p_spid,
|
||||
:p_userid,
|
||||
:p_headerid,
|
||||
:P_cursor
|
||||
);
|
||||
END;`,
|
||||
{
|
||||
p_spid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
p_userid: {
|
||||
val: body.p_userid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR
|
||||
},
|
||||
p_headerid: {
|
||||
val: body.p_headerid,
|
||||
type: oracledb.DB_TYPE_NUMBER
|
||||
},
|
||||
P_cursor: {
|
||||
type: oracledb.CURSOR,
|
||||
dir: oracledb.BIND_OUT
|
||||
}
|
||||
}, {
|
||||
outFormat: oracledb.OUT_FORMAT_OBJECT
|
||||
}
|
||||
);
|
||||
await connection.commit();
|
||||
|
||||
if (result.outBinds && result.outBinds.P_cursor) {
|
||||
const cursor = result.outBinds.P_cursor;
|
||||
let rowsBatch;
|
||||
|
||||
do {
|
||||
rowsBatch = await cursor.getRows(100);
|
||||
rows = rows.concat(rowsBatch);
|
||||
} while (rowsBatch.length > 0);
|
||||
|
||||
|
||||
await cursor.close();
|
||||
} else {
|
||||
throw new Error('No cursor returned from the stored procedure');
|
||||
}
|
||||
|
||||
return rows;
|
||||
|
||||
// return fres
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error fetching users: ', err);
|
||||
return { error: err.message }
|
||||
} finally { }
|
||||
|
||||
|
||||
}
|
||||
|
||||
async GetCarnetDetailsbyCarnetStatus(body: GetCarnetDetailsbyCarnetStatusDTO) {
|
||||
let connection;
|
||||
let rows: any = [];
|
||||
try {
|
||||
|
||||
connection = await this.oracleDBService.getConnection()
|
||||
if (!connection) {
|
||||
throw new Error('No DB Connected')
|
||||
}
|
||||
|
||||
const result = await connection.execute(
|
||||
`BEGIN
|
||||
CARNETCONTROLCENTER_PKG.GetCarnetDetails(:p_spid,:p_userid,:p_CarnetStattus,:P_cursor);
|
||||
END;`,
|
||||
{
|
||||
p_spid: {
|
||||
val: body.p_spid,
|
||||
type: oracledb.DB_TYPE_NUMBER,
|
||||
},
|
||||
p_userid: {
|
||||
val: body.p_userid,
|
||||
type: oracledb.DB_TYPE_NVARCHAR,
|
||||
},
|
||||
p_CarnetStattus: {
|
||||
val: body.p_CarnetStatus,
|
||||
type: oracledb.DB_TYPE_NVARCHAR,
|
||||
},
|
||||
P_cursor: {
|
||||
type: oracledb.CURSOR,
|
||||
dir: oracledb.BIND_OUT
|
||||
}
|
||||
},
|
||||
{
|
||||
outFormat: oracledb.OUT_FORMAT_OBJECT
|
||||
}
|
||||
);
|
||||
|
||||
if (result.outBinds && result.outBinds.P_cursor) {
|
||||
const cursor = result.outBinds.P_cursor;
|
||||
let rowsBatch;
|
||||
|
||||
do {
|
||||
rowsBatch = await cursor.getRows(100);
|
||||
rows = rows.concat(rowsBatch);
|
||||
} while (rowsBatch.length > 0);
|
||||
|
||||
|
||||
await cursor.close();
|
||||
} else {
|
||||
throw new Error('No cursor returned from the stored procedure');
|
||||
}
|
||||
|
||||
return rows;
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error fetching users: ', err);
|
||||
return { error: err.message }
|
||||
} finally { }
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
import { Body, Controller, Get, Param, ParseIntPipe, Patch, Post, Put, Query, UsePipes } from '@nestjs/common';
|
||||
import { BadRequestException, Body, Controller, Get, Param, ParseIntPipe, Patch, Post, Put, Query, UsePipes } from '@nestjs/common';
|
||||
import { OracleService } from './oracle.service';
|
||||
import { ActivateOrInactivateParamRecordDTO, CreateBasicFeeDTO, CreateBondRateDTO, CreateCargoRateDTO, CreateCarnetSequenceDTO, CreateCfFeeDTO, CreateCsFeeDTO, CreateEfFeeDTO, CreateFeeCommDTO, CreateParamRecordDTO, CreateTableRecordDTO, InsertNewServiceProviderDTO, InsertRegionsDto, InsertSPContactsDTO, UpdateBasicFeeDTO, UpdateBondRateDTO, UpdateCargoRateDTO, UpdateCfFeeDTO, UpdateCsFeeDTO, UpdateEfFeeDTO, UpdateFeeCommBodyDTO, UpdateFeeCommDTO, UpdateParamRecordDTO, UpdateRegionDto, UpdateServiceProviderDTO, UpdateSPContactsDTO } from './oracle.dto';
|
||||
import { ActivateOrInactivateParamRecordDTO, CreateBasicFeeDTO, CreateBondRateDTO, CreateCargoRateDTO, CreateCarnetSequenceDTO, CreateCfFeeDTO, CreateCsFeeDTO, CreateEfFeeDTO, CreateFeeCommDTO, CreateParamRecordDTO, CreateTableRecordDTO, GetCarnetDetailsbyCarnetStatusDTO, InsertNewServiceProviderDTO, InsertRegionsDto, InsertSPContactsDTO, SaveCarnetApplicationDTO, TestDTO, TransmitApplicationtoProcessDTO, UpdateBasicFeeDTO, UpdateBondRateDTO, UpdateCargoRateDTO, UpdateCfFeeDTO, UpdateCsFeeDTO, UpdateEfFeeDTO, UpdateFeeCommBodyDTO, UpdateFeeCommDTO, UpdateParamRecordDTO, UpdateRegionDto, UpdateServiceProviderDTO, UpdateSPContactsDTO } from './oracle.dto';
|
||||
import { ParamTableService } from './paramTable.service';
|
||||
import { ManageFeeService } from './manageFee.service';
|
||||
import { ApiOperation, ApiPropertyOptional, ApiQuery, ApiTags } from '@nestjs/swagger';
|
||||
@ -28,8 +28,55 @@ export class OracleController {
|
||||
return this.homePageDataService.GetCarnetSummaryData(id);
|
||||
}
|
||||
|
||||
@ApiTags('HomePage - Oracle')
|
||||
@Post('/SaveCarnetApplication')
|
||||
SaveCarnetApplication(@Body() body: SaveCarnetApplicationDTO) {
|
||||
return this.homePageDataService.SaveCarnetApplication(body);
|
||||
// return body;
|
||||
}
|
||||
|
||||
@ApiTags('HomePage - Oracle')
|
||||
@Post('/TransmitApplicationtoProcess')
|
||||
TransmitApplicationtoProcess(@Body() body: TransmitApplicationtoProcessDTO) {
|
||||
return this.homePageDataService.TransmitApplicationtoProcess(body);
|
||||
}
|
||||
|
||||
@ApiTags('HomePage - Oracle')
|
||||
@Get('/GetCarnetDetailsbyCarnetStatus/:p_spid/:p_userid/:p_CarnetStatus')
|
||||
GetCarnetDetailsbyCarnetStatus(
|
||||
@Param('p_spid', ParseIntPipe) p_spid: number,
|
||||
@Param('p_userid') p_userid: string,
|
||||
@Param('p_CarnetStatus') p_CarnetStatus: string
|
||||
) {
|
||||
if (!p_spid || !p_userid || !p_CarnetStatus) {
|
||||
throw new BadRequestException('spid, userid and Carnet Status are required');
|
||||
}
|
||||
else if (Number(p_userid) || Number(p_CarnetStatus )) {
|
||||
throw new BadRequestException('Param p_userid and p_CarnetStatus should be string');
|
||||
}
|
||||
try {
|
||||
const body: GetCarnetDetailsbyCarnetStatusDTO = {
|
||||
p_spid: p_spid,
|
||||
p_userid: p_userid,
|
||||
p_CarnetStatus: p_CarnetStatus
|
||||
};
|
||||
|
||||
return this.homePageDataService.GetCarnetDetailsbyCarnetStatus(body);
|
||||
}
|
||||
catch (err) {
|
||||
return new BadRequestException({ message: 'Validation faileda', error: err.message })
|
||||
}
|
||||
}
|
||||
|
||||
// @ApiTags('HomePage - Oracle')
|
||||
// @Post('/test')
|
||||
// test(@Body() body:TestDTO) {
|
||||
|
||||
// return body;
|
||||
// }
|
||||
|
||||
// Regions
|
||||
|
||||
|
||||
@ApiTags('Regions - Oracle')
|
||||
@Post('/InsertRegions')
|
||||
insertRegions(@Body() body: InsertRegionsDto) {
|
||||
@ -337,63 +384,63 @@ export class OracleController {
|
||||
@Get('/GetBasicFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetBasicFeeRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETBASICFEERATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETBASICFEERATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetBondRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetBondRates(
|
||||
GetBondRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETBONDRATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETBONDRATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetCargoRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetCargoRates(
|
||||
GetCargoRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETCARGORATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETCARGORATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetCfFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetCfFeeRates(
|
||||
GetCfFeeRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETCFFEERATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETCFFEERATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetCsFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetCsFeeRates(
|
||||
GetCsFeeRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETCSFEERATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETCSFEERATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetEfFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetEfFeeRates(
|
||||
GetEfFeeRates(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETEFFEERATES(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETEFFEERATES(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
@ApiTags('Manage Fee - Oracle')
|
||||
@Get('/GetFeeComm/:P_SPID/:P_ACTIVE_INACTIVE')
|
||||
GetFeeComm(
|
||||
GetFeeComm(
|
||||
@Param('P_SPID', ParseIntPipe) P_SPID: number,
|
||||
@Param('P_ACTIVE_INACTIVE') P_ACTIVE_INACTIVE:string
|
||||
@Param('P_ACTIVE_INACTIVE') P_ACTIVE_INACTIVE: string
|
||||
) {
|
||||
return this.manageFeeService.GETFEECOMM(P_SPID,P_ACTIVE_INACTIVE)
|
||||
return this.manageFeeService.GETFEECOMM(P_SPID, P_ACTIVE_INACTIVE)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { IsEmail, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';
|
||||
import { Type } from 'class-transformer';
|
||||
import { ArrayNotEmpty, IsArray, IsDefined, IsEmail, IsIn, IsInt, IsNumber, IsObject, IsOptional, IsString, Length, Max, Min, min, ValidateNested } from 'class-validator';
|
||||
|
||||
export class InsertRegionsDto {
|
||||
@ApiProperty()
|
||||
@ -732,13 +733,338 @@ export class UpdateFeeCommBodyDTO {
|
||||
p_fees_comm: UpdateFeeCommDTO; // No need for @IsObject()
|
||||
}
|
||||
|
||||
export class ActivateOrInactivateParamRecordDTO{
|
||||
|
||||
@ApiProperty({required:true})
|
||||
@IsNumber()
|
||||
P_PARAMID:number;
|
||||
export class ActivateOrInactivateParamRecordDTO {
|
||||
|
||||
@ApiProperty({required:true})
|
||||
@ApiProperty({ required: true })
|
||||
@IsNumber()
|
||||
P_PARAMID: number;
|
||||
|
||||
@ApiProperty({ required: true })
|
||||
@IsString()
|
||||
P_USERID:string;
|
||||
P_USERID: string;
|
||||
}
|
||||
|
||||
// Homepage
|
||||
|
||||
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?: number;
|
||||
|
||||
@ApiProperty({ required: false })
|
||||
@Length(0, 1, { message: "Property p_profequipmentflag must be between 0 to 1 characters" })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
p_profequipmentflag?: number;
|
||||
|
||||
@ApiProperty({ required: false })
|
||||
@Length(0, 1, { message: "Property p_exhibitionsfairflag must be between 0 to 1 characters" })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
p_exhibitionsfairflag?: number;
|
||||
|
||||
@ApiProperty({ required: false })
|
||||
@Length(0, 1, { message: "Property p_autoflag must be between 0 to 1 characters" })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
p_autoflag?: number;
|
||||
|
||||
@ApiProperty({ required: false })
|
||||
@Length(0, 1, { message: "Property p_horseflag must be between 0 to 1 characters" })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
p_horseflag?: number;
|
||||
|
||||
@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?: number;
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//--------------------------------
|
||||
|
||||
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[];
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user