susee
This commit is contained in:
parent
0951526f88
commit
12b0084d9a
@ -1,4 +1,4 @@
|
|||||||
const { sequelize , LoanDetail , EntityDetails , ApplicantsDetails , ApplicantsRelationship , ResidenceAddressDetails , PropertyOwnershipIncomeConsidered , DueDiligenceCheck , TradeReferences , CheckTypeMaster , EnquiriesAndDisbursements , PropertyAndLtv , ATNWrelatedInputs , SalesPD , ATNWrelatedInputMaster ,ATNWrelationship , OtherParameterMaster ,OtherParameterMasterValue , OtherParameterRelationship , OtherParameters } = require('../models')
|
const { sequelize , LoanDetail , EntityDetails , ApplicantsDetails , ApplicantsRelationship , ResidenceAddressDetails , PropertyOwnershipIncomeConsidered , DueDiligenceCheck , TradeReferences , CheckTypeMaster , EnquiriesAndDisbursements , PropertyAndLtv , ATNWrelatedInputs , SalesPD , ATNWrelatedInputMaster ,ATNWrelationship , OtherParameterMaster ,OtherParameterMasterValue , OtherParameterRelationship , OtherParameters , ATNErelatedInputSubVal } = require('../models')
|
||||||
const { logMsg } = require('../services/logger.js');
|
const { logMsg } = require('../services/logger.js');
|
||||||
|
|
||||||
|
|
||||||
@ -35,21 +35,43 @@ exports.createEntityDetails = async (req, res) =>
|
|||||||
{
|
{
|
||||||
entityid = data.dataValues.id;
|
entityid = data.dataValues.id;
|
||||||
ATNWrelatedInputMasterData_arr = [];
|
ATNWrelatedInputMasterData_arr = [];
|
||||||
|
ATNWrelatedInputMasterData_arr_val = [];
|
||||||
for (const value of ATNWrelatedInputMasterData)
|
for (const value of ATNWrelatedInputMasterData)
|
||||||
{
|
{
|
||||||
atnw_master_data = {entity_id:entityid , atnw_related_input_id:value.id , atnw_related_input:value.master_name};
|
if ( value.id == 9 || value.id == 10 )
|
||||||
ATNWrelatedInputMasterData_arr.push(atnw_master_data);
|
{
|
||||||
|
atnw_master_value_data = { atnw_related_input :value.master_name };
|
||||||
|
ATNWrelatedInputMasterData_arr_val.push(atnw_master_value_data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
atnw_master_data = {entity_id:entityid , atnw_related_input_id:value.id , atnw_related_input:value.master_name};
|
||||||
|
ATNWrelatedInputMasterData_arr.push(atnw_master_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
ATNWrelatedInputs.bulkCreate(ATNWrelatedInputMasterData_arr)
|
ATNWrelatedInputs.bulkCreate(ATNWrelatedInputMasterData_arr)
|
||||||
.then(ATNWrelatedInputMasterData_arr =>{ logMsg.info("ATNWrelatedInputs Data Creation Success for EntityId= "+entityid); })
|
.then(ATNWrelatedInputMasterData_arr =>
|
||||||
|
{
|
||||||
|
ATNWrelatedInputMasterData_arr.forEach( async (atnw_element) => {
|
||||||
|
if (atnw_element.atnw_related_input_id == 8) {
|
||||||
|
ATNWrelatedInputMasterData_arr_val.forEach( async (atnw_related_input_id_element) => {
|
||||||
|
Object.assign( atnw_related_input_id_element, { master_id : atnw_element.id });
|
||||||
|
ATNErelatedInputSubVal.create(atnw_related_input_id_element).then(data => {
|
||||||
|
logMsg.info("ATNWrelatedInputs_subValue Data Creation Success for EntityId= "+entityid);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
logMsg.info("ATNWrelatedInputs Data Creation Success for EntityId= "+entityid);
|
||||||
|
})
|
||||||
.catch(err =>{ logMsg.info("ATNWrelatedInputs Data Creation Failed for EntityId= "+entityid+" Error= "+err); });
|
.catch(err =>{ logMsg.info("ATNWrelatedInputs Data Creation Failed for EntityId= "+entityid+" Error= "+err); });
|
||||||
}, 500);
|
}, 500);
|
||||||
})
|
})
|
||||||
.catch(err => { logMsg.info("ATNWrelatedInputs Data Fetching Failed for EntityId= "+entityid+" Error= "+err); });
|
.catch(err => { logMsg.info("ATNWrelatedInputs Data Fetching Failed for EntityId= "+entityid+" Error= "+err); });
|
||||||
|
|
||||||
|
|
||||||
|
// delete from atnw_related_inputs where entity_id = 2
|
||||||
// otherParameter data create
|
// otherParameter data create
|
||||||
OtherParameterMaster.findAll({raw: true , where : {is_active : 1}}).then(async(OtherParameterMasterData) =>
|
OtherParameterMaster.findAll({raw: true , where : {is_active : 1}}).then(async(OtherParameterMasterData) =>
|
||||||
{
|
{
|
||||||
@ -466,7 +488,7 @@ exports.LoanNumberDetailsList = async (req, res) =>
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LoanDetail.findAll({raw: true , where : {is_active : 1}}).then(data =>
|
LoanDetail.findAll({raw: true , where : { losid : req.query.losid , is_active : 1}}).then(data =>
|
||||||
{
|
{
|
||||||
if(data.length > 0)
|
if(data.length > 0)
|
||||||
{
|
{
|
||||||
@ -739,18 +761,36 @@ exports.updateATNWrelatedInputs = async (req, res) =>
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
const update_subValue_data = req.body.subValue;
|
||||||
|
delete req.body.subValue;
|
||||||
id = req.body.id;
|
id = req.body.id;
|
||||||
delete req.body.id;
|
delete req.body.id;
|
||||||
// update value
|
// update value
|
||||||
ATNWrelatedInputs.update(req.body,{ where: { id: id }}).then(data =>
|
ATNWrelatedInputs.update(req.body,{ where: { id: id }}).then(data =>
|
||||||
{
|
{
|
||||||
res.send({'status':200,'message':"success",'data':data});
|
logMsg.info("ATNWrelatedInputs Data Update Success "+data);
|
||||||
|
})
|
||||||
})
|
.catch(err => {
|
||||||
.catch(err => {
|
res.send({'status':404,
|
||||||
res.send({'status':404,
|
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
|
||||||
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
|
});
|
||||||
});
|
if (req.body.atnw_related_input_id == 8)
|
||||||
|
{
|
||||||
|
update_subValue_data.forEach( async (update_subValue_data_element) => {
|
||||||
|
id = update_subValue_data_element.id;
|
||||||
|
delete update_subValue_data_element.id;
|
||||||
|
ATNErelatedInputSubVal.update(update_subValue_data_element,{ where: { id: id }}).then(data =>
|
||||||
|
{
|
||||||
|
res.send({'status':200,'message':"success",'data':data});
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
res.send({'status':404,
|
||||||
|
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
|
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
|
||||||
@ -848,7 +888,9 @@ exports.PropertyAndLtvList = async (req, res) =>
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PropertyAndLtv.findAll({raw: true , where : {is_active : 1}}).then(data =>
|
PropertyAndLtv.findAll({ where : { losid : req.query.losid , is_active : 1},
|
||||||
|
include : [{ model : LoanDetail}],
|
||||||
|
}).then(data =>
|
||||||
{
|
{
|
||||||
if(data.length > 0)
|
if(data.length > 0)
|
||||||
{
|
{
|
||||||
@ -929,7 +971,9 @@ exports.ATNWrelatedInputsList = async (req, res) =>
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ATNWrelatedInputs.findAll({raw: true , where : {entity_id : req.query.entity_id , is_active : 1}}).then(data =>
|
ATNWrelatedInputs.findAll({where : {entity_id : req.query.entity_id , is_active : 1},
|
||||||
|
include : [{ model: ATNErelatedInputSubVal }]
|
||||||
|
}).then(data =>
|
||||||
{
|
{
|
||||||
if(data.length > 0)
|
if(data.length > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -18,52 +18,21 @@ exports.Welcome = (req, res) =>
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
exports.createModel = async (req, res) =>
|
// IF(
|
||||||
{
|
// AND( variance_in_mv1_and_mv2 > 10% OR (mark_valuation_1 = "",mark_valuation_1 = 0, mark_valuation_2 ="",mark_valuation_2 =0,third_val_not_req="",third_val_not_req=0)),
|
||||||
var storeData = [ ];
|
// "Inputs Required",
|
||||||
var a = [ "money" , "int" , "numeric" , "real" ]
|
|
||||||
var b = [ "nvarchar" ]
|
|
||||||
var c = [ "datetimeoffset" , "datetime" , "date" ]
|
|
||||||
|
|
||||||
|
|
||||||
let query = "SELECT COLUMN_NAME, DATA_TYPE FROM mainapp_staging.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='sales_PD';";
|
|
||||||
storeData = await sequelize.query(query)
|
|
||||||
storeData.forEach(async(element) => {
|
|
||||||
|
|
||||||
Object.values(element).forEach( async (element) => {
|
|
||||||
if ( a.includes(element.DATA_TYPE)) {
|
|
||||||
console.log( element.COLUMN_NAME, ": { type: DataTypes.INTEGER },");
|
|
||||||
}
|
|
||||||
if ( b.includes(element.DATA_TYPE)) {
|
|
||||||
console.log( element.COLUMN_NAME, ": { type: DataTypes.STRING },");
|
|
||||||
}
|
|
||||||
if ( c.includes(element.DATA_TYPE)) {
|
|
||||||
console.log( element.COLUMN_NAME, ": { type: DataTypes.DATE },");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
exports.excel = async ( req , res ) => {
|
|
||||||
// Requiring the module
|
|
||||||
const reader = require('xlsx')
|
|
||||||
|
|
||||||
// Reading our test file
|
// IF(
|
||||||
const file = reader.readFile('./Commercial_CIBIL_Raw_Data 1.xlsx')
|
// OR( override="", override ="Average"),
|
||||||
let data = []
|
// IF( variance_in_mv1_and_mv2 <= 10% ,( mark_valuation_1 + mark_valuation_2 )/2 ,
|
||||||
const sheets = file.SheetNames[0]
|
// ( third_val_not_req + mark_valuation_2 + mark_valuation_1 - MAX(third_val_not_req , mark_valuation_2, mark_valuation_1))/2),
|
||||||
console.log(sheets);
|
|
||||||
for(let i = 0; i < sheets.length; i++)
|
// IF( override ="Lower",IF(variance_in_mv1_and_mv2 <= 10% ,
|
||||||
{
|
// MIN(mark_valuation_1, mark_valuation_2 ),
|
||||||
const temp = reader.utils.sheet_to_json(
|
// MIN(third_val_not_req ,mark_valuation_2,mark_valuation_1)),
|
||||||
file.Sheets[file.SheetNames[0]])
|
|
||||||
temp.forEach((res) => {
|
// IF( override ="Higher",IF(variance_in_mv1_and_mv2 <= 10% ,
|
||||||
data.push(res)
|
// MAX(mark_valuation_1,mark_valuation_2),
|
||||||
})
|
// MAX(third_val_not_req ,mark_valuation_2,mark_valuation_1))))
|
||||||
}
|
// )
|
||||||
res.send(data[0].ApplicationRefno)
|
// )
|
||||||
}
|
|
||||||
27
app/models/ATNWrelatedInputSubVal.js
Normal file
27
app/models/ATNWrelatedInputSubVal.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
'use strict'
|
||||||
|
const { Model } = require('sequelize')
|
||||||
|
module.exports = (sequelize, DataTypes) => {
|
||||||
|
class ATNErelatedInputSubVal extends Model {
|
||||||
|
|
||||||
|
}
|
||||||
|
ATNErelatedInputSubVal.init(
|
||||||
|
{
|
||||||
|
master_id : { type: DataTypes.INTEGER },
|
||||||
|
atnw_related_input : { type: DataTypes.STRING },
|
||||||
|
atnw_related_input_value : { type: DataTypes.STRING },
|
||||||
|
createdAt : { type: DataTypes.DATE },
|
||||||
|
updatedAt : { type: DataTypes.DATE },
|
||||||
|
createdby : { type: DataTypes.INTEGER },
|
||||||
|
updatedby : { type: DataTypes.INTEGER },
|
||||||
|
is_active : { type: DataTypes.INTEGER },
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
tableName: 'atnw_related_input_sub_value',
|
||||||
|
modelName: 'ATNErelatedInputSubVal',
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
return ATNErelatedInputSubVal
|
||||||
|
}
|
||||||
@ -23,6 +23,12 @@ module.exports = (sequelize, DataTypes) => {
|
|||||||
modelName: 'ATNWrelatedInputs',
|
modelName: 'ATNWrelatedInputs',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
ATNWrelatedInputs.associate = models => {
|
||||||
|
ATNWrelatedInputs.hasMany(models.ATNErelatedInputSubVal, {
|
||||||
|
foreignKey: 'master_id',
|
||||||
|
sourceKey : 'id'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return ATNWrelatedInputs
|
return ATNWrelatedInputs
|
||||||
}
|
}
|
||||||
@ -57,5 +57,14 @@ module.exports = (sequelize, DataTypes) => {
|
|||||||
modelName: 'PropertyAndLtv',
|
modelName: 'PropertyAndLtv',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
PropertyAndLtv.associate = models => {
|
||||||
|
PropertyAndLtv.hasMany(models.LoanDetail, {
|
||||||
|
foreignKey: 'losid',
|
||||||
|
sourceKey : 'losid'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return PropertyAndLtv
|
return PropertyAndLtv
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,6 +74,14 @@ router.get("/MainApplicantDetailsList", Entitycontroller.MainApplicantDetailsLis
|
|||||||
* get:
|
* get:
|
||||||
* summary: Loan Numbers Details List
|
* summary: Loan Numbers Details List
|
||||||
* description: Get loan Number Details List
|
* description: Get loan Number Details List
|
||||||
|
* parameters:
|
||||||
|
* - in: query
|
||||||
|
* name: losid
|
||||||
|
* schema:
|
||||||
|
* type: string
|
||||||
|
* required: true
|
||||||
|
* description: id of the entity Details (primart key of entity)
|
||||||
|
* example: MW112233
|
||||||
* responses:
|
* responses:
|
||||||
* 200:
|
* 200:
|
||||||
* description: success
|
* description: success
|
||||||
@ -2003,118 +2011,6 @@ router.post("/updatePropertyAndLtv", Entitycontroller.updatePropertyAndLtv);
|
|||||||
router.get("/PropertyAndLtvList", Entitycontroller.PropertyAndLtvList);
|
router.get("/PropertyAndLtvList", Entitycontroller.PropertyAndLtvList);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// create LoanDetail
|
|
||||||
/**
|
|
||||||
* @swagger
|
|
||||||
* definitions:
|
|
||||||
* createLoanDetail:
|
|
||||||
* type: object
|
|
||||||
* properties:
|
|
||||||
* losid:
|
|
||||||
* type: string
|
|
||||||
* description:
|
|
||||||
* example: MW112233
|
|
||||||
* product:
|
|
||||||
* type: string
|
|
||||||
* description:
|
|
||||||
* example: LFMP
|
|
||||||
* date_of_login:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 2021/05/05
|
|
||||||
* sourcing_channel_type:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: Connector
|
|
||||||
* sourcing_channel_name:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: Test Name
|
|
||||||
* proposal:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: Fresh
|
|
||||||
* sanction_date_of_earlier_exposure:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* current_outstnd_bal_of_earlier_exposure:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* emi_of_earlier_exposure:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* additional_loan_amnt_applied_for:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 5000000
|
|
||||||
* insurance_premium_amnt_being_funded:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 500000
|
|
||||||
* insurance_premium_loan_applied_for:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 1
|
|
||||||
* additional_loan_amnt_applied_for_and_insu_premium:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 5500000
|
|
||||||
* load_tenure_applied_for_months:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 30
|
|
||||||
* rate_of_interest_per_annum:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 1
|
|
||||||
* emi_per_lac_of_loan:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* purpose_of_loan:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* emi_of_loan_applied_for:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example:
|
|
||||||
* createdby:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 1
|
|
||||||
* updatedby:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 1
|
|
||||||
* is_active:
|
|
||||||
* type: integer
|
|
||||||
* description:
|
|
||||||
* example: 1
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* @swagger
|
|
||||||
* /api/createLoanDetail:
|
|
||||||
* post:
|
|
||||||
* summary: create LoanDetail
|
|
||||||
* description: create LoanDetail details
|
|
||||||
* requestBody:
|
|
||||||
* content:
|
|
||||||
* application/json:
|
|
||||||
* schema:
|
|
||||||
* $ref: '#/definitions/createLoanDetail'
|
|
||||||
* responses:
|
|
||||||
* 200:
|
|
||||||
* description: New LoanDetail inserted
|
|
||||||
* 500:
|
|
||||||
* description: failure in inserting LoanDetail
|
|
||||||
*/
|
|
||||||
router.post("/createLoanDetail", Entitycontroller.createLoanDetail);
|
|
||||||
|
|
||||||
// update Property & LTV Details
|
// update Property & LTV Details
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
@ -2239,6 +2135,14 @@ router.post("/updateLoanDetail", Entitycontroller.updateLoanDetail);
|
|||||||
* get:
|
* get:
|
||||||
* summary: Dropdown loan And property & Ltv Master Api
|
* summary: Dropdown loan And property & Ltv Master Api
|
||||||
* description: All master data for dropdown value
|
* description: All master data for dropdown value
|
||||||
|
* parameters:
|
||||||
|
* - in: query
|
||||||
|
* name: losid
|
||||||
|
* schema:
|
||||||
|
* type: string
|
||||||
|
* required: true
|
||||||
|
* description: id of the entity Details (primart key of entity)
|
||||||
|
* example: MW112233
|
||||||
* responses:
|
* responses:
|
||||||
* 200:
|
* 200:
|
||||||
* description: success
|
* description: success
|
||||||
@ -2246,7 +2150,7 @@ router.post("/updateLoanDetail", Entitycontroller.updateLoanDetail);
|
|||||||
router.get("/loanAndLtvMaster", Mastercontroller.loanAndLtvMaster);
|
router.get("/loanAndLtvMaster", Mastercontroller.loanAndLtvMaster);
|
||||||
|
|
||||||
|
|
||||||
// CheckResultMaster select api
|
// atnwRelationMaster select api
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
@ -2292,6 +2196,10 @@ router.get("/atnwRelationMaster", Mastercontroller.atnwRelationMaster);
|
|||||||
* type: integer
|
* type: integer
|
||||||
* description:
|
* description:
|
||||||
* example: 1
|
* example: 1
|
||||||
|
* subValue:
|
||||||
|
* type: string
|
||||||
|
* description: json string
|
||||||
|
* example:
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
|
|||||||
109
package-lock.json
generated
109
package-lock.json
generated
@ -11,12 +11,13 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "^1.19.0",
|
"body-parser": "^1.19.0",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
|
"dist": "^0.1.2",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"log4js": "^6.3.0",
|
"log4js": "^6.3.0",
|
||||||
"mssql": "^7.2.0",
|
"mssql": "^7.2.0",
|
||||||
"request": "^2.88.2",
|
"request": "^2.88.2",
|
||||||
"sequelize": "^6.6.5",
|
"sequelize": "^6.21.1",
|
||||||
"swagger-jsdoc": "^6.1.0",
|
"swagger-jsdoc": "^6.1.0",
|
||||||
"swagger-ui-express": "^4.1.6",
|
"swagger-ui-express": "^4.1.6",
|
||||||
"winston": "^3.3.3",
|
"winston": "^3.3.3",
|
||||||
@ -539,6 +540,11 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/validator": {
|
||||||
|
"version": "13.7.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.3.tgz",
|
||||||
|
"integrity": "sha512-DNviAE5OUcZ5s+XEQHRhERLg8fOp8gSgvyJ4aaFASx5wwaObm+PBwTIMXiOFm1QrSee5oYwEAYb7LMzX2O88gA=="
|
||||||
|
},
|
||||||
"node_modules/@xmldom/xmldom": {
|
"node_modules/@xmldom/xmldom": {
|
||||||
"version": "0.7.5",
|
"version": "0.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
|
||||||
@ -1547,6 +1553,19 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/dist": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/dist/-/dist-0.1.2.tgz",
|
||||||
|
"integrity": "sha512-TmsZfJybRs3IZC8SL/rLU3KYanR31BNPlCutao8MpmiN6S47WN2eEBNSdSafi0cQtdMAixgNXfrqZyuqkz/sOQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"filesize": "~1.6.6",
|
||||||
|
"optimist": "~0.3.5",
|
||||||
|
"uglify-js": "~1.3.4"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"dist": "bin/dist.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/doctrine": {
|
"node_modules/doctrine": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||||
@ -1770,6 +1789,14 @@
|
|||||||
"moment": "^2.29.1"
|
"moment": "^2.29.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/filesize": {
|
||||||
|
"version": "1.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/filesize/-/filesize-1.6.7.tgz",
|
||||||
|
"integrity": "sha512-A/ANn+qBa3WmjgxHmyKfQbQ+AFwVoKrWwCGrNVjWJJMZclBrvhZ+85/xLxcTjn/G70PjbDKpVDewCHn+ShMyTA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fill-range": {
|
"node_modules/fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
@ -3206,6 +3233,14 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/optimist": {
|
||||||
|
"version": "0.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
|
||||||
|
"integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"wordwrap": "~0.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/p-cancelable": {
|
"node_modules/p-cancelable": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
||||||
@ -3677,9 +3712,9 @@
|
|||||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||||
},
|
},
|
||||||
"node_modules/sequelize": {
|
"node_modules/sequelize": {
|
||||||
"version": "6.15.0",
|
"version": "6.21.1",
|
||||||
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.21.1.tgz",
|
||||||
"integrity": "sha512-Ks2jSaKMfICZ8jMlhH401fLw5ikE8Vqt6slcR2peKOn4lA3H+LRfXdlnAl/CUDO1MflFl7PhifnzPxwhamciGQ==",
|
"integrity": "sha512-vbRreGOdBFLoGUrSINaNVLnaGZGSjhLq2b80tBezuqxbumMG3V2QkCnsvgggQ+LoRVYxERwWin1BL7YO4b5PSQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -3688,9 +3723,10 @@
|
|||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/debug": "^4.1.7",
|
"@types/debug": "^4.1.7",
|
||||||
|
"@types/validator": "^13.7.1",
|
||||||
"debug": "^4.3.3",
|
"debug": "^4.3.3",
|
||||||
"dottie": "^2.0.2",
|
"dottie": "^2.0.2",
|
||||||
"inflection": "^1.13.1",
|
"inflection": "^1.13.2",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"moment-timezone": "^0.5.34",
|
"moment-timezone": "^0.5.34",
|
||||||
@ -4315,6 +4351,14 @@
|
|||||||
"is-typedarray": "^1.0.0"
|
"is-typedarray": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/uglify-js": {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.5.tgz",
|
||||||
|
"integrity": "sha512-YPX1DjKtom8l9XslmPFQnqWzTBkvI4N0pbkzLuPZZ4QTyig0uQqvZz9NgUdfEV+qccJzi7fVcGWdESvRIjWptQ==",
|
||||||
|
"bin": {
|
||||||
|
"uglifyjs": "bin/uglifyjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/undefsafe": {
|
"node_modules/undefsafe": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
||||||
@ -4656,6 +4700,14 @@
|
|||||||
"node": ">=0.8"
|
"node": ">=0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wordwrap": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/wrap-ansi": {
|
"node_modules/wrap-ansi": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
@ -5271,6 +5323,11 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/validator": {
|
||||||
|
"version": "13.7.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.3.tgz",
|
||||||
|
"integrity": "sha512-DNviAE5OUcZ5s+XEQHRhERLg8fOp8gSgvyJ4aaFASx5wwaObm+PBwTIMXiOFm1QrSee5oYwEAYb7LMzX2O88gA=="
|
||||||
|
},
|
||||||
"@xmldom/xmldom": {
|
"@xmldom/xmldom": {
|
||||||
"version": "0.7.5",
|
"version": "0.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
|
||||||
@ -6036,6 +6093,16 @@
|
|||||||
"integrity": "sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==",
|
"integrity": "sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==",
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"dist": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/dist/-/dist-0.1.2.tgz",
|
||||||
|
"integrity": "sha512-TmsZfJybRs3IZC8SL/rLU3KYanR31BNPlCutao8MpmiN6S47WN2eEBNSdSafi0cQtdMAixgNXfrqZyuqkz/sOQ==",
|
||||||
|
"requires": {
|
||||||
|
"filesize": "~1.6.6",
|
||||||
|
"optimist": "~0.3.5",
|
||||||
|
"uglify-js": "~1.3.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"doctrine": {
|
"doctrine": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||||
@ -6223,6 +6290,11 @@
|
|||||||
"moment": "^2.29.1"
|
"moment": "^2.29.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"filesize": {
|
||||||
|
"version": "1.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/filesize/-/filesize-1.6.7.tgz",
|
||||||
|
"integrity": "sha512-A/ANn+qBa3WmjgxHmyKfQbQ+AFwVoKrWwCGrNVjWJJMZclBrvhZ+85/xLxcTjn/G70PjbDKpVDewCHn+ShMyTA=="
|
||||||
|
},
|
||||||
"fill-range": {
|
"fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
@ -7323,6 +7395,14 @@
|
|||||||
"is-wsl": "^2.1.1"
|
"is-wsl": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
|
||||||
|
"integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
|
||||||
|
"requires": {
|
||||||
|
"wordwrap": "~0.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"p-cancelable": {
|
"p-cancelable": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
||||||
@ -7692,14 +7772,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sequelize": {
|
"sequelize": {
|
||||||
"version": "6.15.0",
|
"version": "6.21.1",
|
||||||
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.21.1.tgz",
|
||||||
"integrity": "sha512-Ks2jSaKMfICZ8jMlhH401fLw5ikE8Vqt6slcR2peKOn4lA3H+LRfXdlnAl/CUDO1MflFl7PhifnzPxwhamciGQ==",
|
"integrity": "sha512-vbRreGOdBFLoGUrSINaNVLnaGZGSjhLq2b80tBezuqxbumMG3V2QkCnsvgggQ+LoRVYxERwWin1BL7YO4b5PSQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/debug": "^4.1.7",
|
"@types/debug": "^4.1.7",
|
||||||
|
"@types/validator": "^13.7.1",
|
||||||
"debug": "^4.3.3",
|
"debug": "^4.3.3",
|
||||||
"dottie": "^2.0.2",
|
"dottie": "^2.0.2",
|
||||||
"inflection": "^1.13.1",
|
"inflection": "^1.13.2",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"moment-timezone": "^0.5.34",
|
"moment-timezone": "^0.5.34",
|
||||||
@ -8149,6 +8230,11 @@
|
|||||||
"is-typedarray": "^1.0.0"
|
"is-typedarray": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"uglify-js": {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.5.tgz",
|
||||||
|
"integrity": "sha512-YPX1DjKtom8l9XslmPFQnqWzTBkvI4N0pbkzLuPZZ4QTyig0uQqvZz9NgUdfEV+qccJzi7fVcGWdESvRIjWptQ=="
|
||||||
|
},
|
||||||
"undefsafe": {
|
"undefsafe": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
||||||
@ -8422,6 +8508,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
|
||||||
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
|
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
|
||||||
},
|
},
|
||||||
|
"wordwrap": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw=="
|
||||||
|
},
|
||||||
"wrap-ansi": {
|
"wrap-ansi": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
|||||||
@ -12,12 +12,13 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "^1.19.0",
|
"body-parser": "^1.19.0",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
|
"dist": "^0.1.2",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"log4js": "^6.3.0",
|
"log4js": "^6.3.0",
|
||||||
"mssql": "^7.2.0",
|
"mssql": "^7.2.0",
|
||||||
"request": "^2.88.2",
|
"request": "^2.88.2",
|
||||||
"sequelize": "^6.6.5",
|
"sequelize": "^6.21.1",
|
||||||
"swagger-jsdoc": "^6.1.0",
|
"swagger-jsdoc": "^6.1.0",
|
||||||
"swagger-ui-express": "^4.1.6",
|
"swagger-ui-express": "^4.1.6",
|
||||||
"winston": "^3.3.3",
|
"winston": "^3.3.3",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user