This commit is contained in:
suseendhiran17 2022-06-27 16:33:33 +05:30
parent 0951526f88
commit 12b0084d9a
8 changed files with 242 additions and 187 deletions

View File

@ -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 => {
res.send({'status':404,
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 => {
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)
{ {

View File

@ -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" ]
// IF(
// OR( override="", override ="Average"),
// IF( variance_in_mv1_and_mv2 <= 10% ,( mark_valuation_1 + mark_valuation_2 )/2 ,
// ( third_val_not_req + mark_valuation_2 + mark_valuation_1 - MAX(third_val_not_req , mark_valuation_2, mark_valuation_1))/2),
let query = "SELECT COLUMN_NAME, DATA_TYPE FROM mainapp_staging.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='sales_PD';"; // IF( override ="Lower",IF(variance_in_mv1_and_mv2 <= 10% ,
storeData = await sequelize.query(query) // MIN(mark_valuation_1, mark_valuation_2 ),
storeData.forEach(async(element) => { // MIN(third_val_not_req ,mark_valuation_2,mark_valuation_1)),
Object.values(element).forEach( async (element) => { // IF( override ="Higher",IF(variance_in_mv1_and_mv2 <= 10% ,
if ( a.includes(element.DATA_TYPE)) { // MAX(mark_valuation_1,mark_valuation_2),
console.log( element.COLUMN_NAME, ": { type: DataTypes.INTEGER },"); // MAX(third_val_not_req ,mark_valuation_2,mark_valuation_1))))
} // )
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
const file = reader.readFile('./Commercial_CIBIL_Raw_Data 1.xlsx')
let data = []
const sheets = file.SheetNames[0]
console.log(sheets);
for(let i = 0; i < sheets.length; i++)
{
const temp = reader.utils.sheet_to_json(
file.Sheets[file.SheetNames[0]])
temp.forEach((res) => {
data.push(res)
})
}
res.send(data[0].ApplicationRefno)
}

View 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
}

View File

@ -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
} }

View File

@ -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
} }

View File

@ -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
View File

@ -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",

View File

@ -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",