susee
This commit is contained in:
parent
8972610494
commit
d1e85235ec
@ -2,17 +2,19 @@ const { keys, values } = require('lodash');
|
||||
const { sequelize,Test,CreditGeneralInformation,SizeAndGeographicalResearch,CreditProfile,ProductAndProcess,PortFolioHealth,TotalOverallDebit,OverallPlanOfAction,ValidationPoint,
|
||||
CreditLoanDetail,CreditFinalRemarks,CreditGeneralBusinessInformation,CreditKeyProductBusinessContribution,EmployeeStrength,CreditBusinessAndPersonalBankingDetails,CreditFinancialInformation,
|
||||
SupplierDetail ,ClientDetail,CreditFuturePlans,CreditExistingLoanObligation,FamilyMemberInvolvedInBusiness,CreditManager,CreditBorrowerAndGuarantorDetails,CreditFinancialAnalysis,CreditAddressDetail,
|
||||
CreditKeyShareholder,Covid19Questions,StockDetail,BusinessAsset,CreditFilterTable} = require('../models')
|
||||
CreditKeyShareholder,Covid19Questions,StockDetail,BusinessAsset,CreditFilterTable,Photograph} = require('../models')
|
||||
const { logMsg } = require('../services/logger.js');
|
||||
const Credit_PdHelper = require('../services/CreditPdHelper.js');
|
||||
const moment = require('moment');
|
||||
var global = require('global')
|
||||
global.arr = [ CreditAddressDetail , CreditBorrowerAndGuarantorDetails , CreditBusinessAndPersonalBankingDetails , BusinessAsset ,
|
||||
ClientDetail , Covid19Questions , EmployeeStrength , CreditExistingLoanObligation ,
|
||||
var global = require('global');
|
||||
global.arr = [ CreditAddressDetail , CreditBorrowerAndGuarantorDetails , CreditBusinessAndPersonalBankingDetails,
|
||||
BusinessAsset , ClientDetail , Covid19Questions , EmployeeStrength ,
|
||||
CreditExistingLoanObligation ,
|
||||
FamilyMemberInvolvedInBusiness , CreditFinalRemarks , CreditFinancialAnalysis , CreditFinancialInformation ,
|
||||
CreditFuturePlans , CreditGeneralBusinessInformation , CreditGeneralInformation , CreditKeyProductBusinessContribution ,
|
||||
CreditKeyShareholder , CreditLoanDetail , OverallPlanOfAction , PortFolioHealth , ProductAndProcess , CreditProfile ,
|
||||
SizeAndGeographicalResearch , StockDetail , SupplierDetail , TotalOverallDebit , ValidationPoint , CreditManager ]
|
||||
SizeAndGeographicalResearch , StockDetail , SupplierDetail , TotalOverallDebit ,
|
||||
ValidationPoint , CreditManager , Photograph ]
|
||||
|
||||
exports.Welcome = (req, res) =>
|
||||
{
|
||||
@ -29,94 +31,239 @@ exports.Welcome = (req, res) =>
|
||||
|
||||
};
|
||||
|
||||
exports.CreditPd = async (req, res) =>
|
||||
exports.PullCreditPdData = async (req, res) =>
|
||||
{
|
||||
|
||||
// {
|
||||
// "pdid":"4526",
|
||||
// "product":"WCTL",
|
||||
// "data":"jsonstring
|
||||
// }
|
||||
|
||||
const tempData = { }
|
||||
|
||||
var obj = { }; // store obj
|
||||
let temp_obj = [ ]; // store array of obj
|
||||
var arr_ObjKey = [ ]
|
||||
var creditFilter_obj_key = [ ];
|
||||
var creditFilter_table_name = [ ];
|
||||
var name;
|
||||
var loan_amount;
|
||||
var pd_id = [ ];
|
||||
|
||||
for (const [key, value] of Object.entries(tempData)) {
|
||||
if (key == "Loan details" || key =="Borrower & Guarantor Details") {
|
||||
for (var [keys, element] of Object.entries(value)) {
|
||||
if ( Array.isArray(element) == true ) { element.forEach(async(element , index) => {
|
||||
if ( keys == 'borrower_details' && index == 0 ) { Object.assign( obj , {name : element['borrower_name']}) } });
|
||||
} else { if ( keys == 'loan_amount') { { Object.assign( obj , { loan_amount : element })} } }
|
||||
}
|
||||
}
|
||||
}
|
||||
pd_id = await CreditGeneralInformation.create(obj);
|
||||
|
||||
for (const [key, value] of Object.entries(tempData)) {
|
||||
console.log(key);
|
||||
creditFilter_obj_key = await CreditFilterTable.findAll({ raw: true , attributes: [ 'mul_key' ], where : { section : key , is_active : 1 , is_mul : 1}})
|
||||
creditFilter_table_name = await CreditFilterTable.findAll({ raw: true, attributes: [ 'table_name' ,'section' ,'ques_key'], where : { section : key , is_active : 1 } , group: ['table_name' , 'section' ,'ques_key']})
|
||||
for (let index = 0; index < creditFilter_obj_key.length; index++)
|
||||
try
|
||||
{
|
||||
arr_ObjKey.push(creditFilter_obj_key[index].mul_key) // store nested obj keys
|
||||
}
|
||||
if (key == creditFilter_table_name[0].section) {
|
||||
temp_obj.length = 0 ; // clear array
|
||||
obj = { }; // clear obj
|
||||
for (var [arr_keys, arr_of_element] of Object.entries(value)) {
|
||||
if ( Array.isArray(arr_of_element) == true )
|
||||
{
|
||||
arr_of_element.forEach(async(iter_element , index) => {
|
||||
if (Object.keys(iter_element)[0] == '0') {
|
||||
temp_obj.push({ [arr_keys] : iter_element })
|
||||
} else {
|
||||
temp_obj.push(iter_element) ;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if( typeof arr_of_element === "object" && ( arr_of_element !== null ) )
|
||||
{
|
||||
delete arr_of_element.display_data;
|
||||
delete value.display_data;
|
||||
await Credit_PdHelper.CreditPd( arr_keys , arr_of_element , arr_ObjKey , obj )
|
||||
}
|
||||
else
|
||||
{
|
||||
if (moment(arr_of_element, "DD-MM-YYYY", true).isValid() == true) {
|
||||
var mydate = moment(arr_of_element, "DD-MM-YYYY"); // convert dd/mm/yyyy to yyyy/mm/dd
|
||||
var my_date = moment(mydate).format("YYYY-MM-DD")
|
||||
Object.assign( obj, { [arr_keys] : my_date });
|
||||
} else { Object.assign( obj, { [arr_keys] : arr_of_element }); }
|
||||
}
|
||||
}// inner forLoop
|
||||
// DB insertion
|
||||
if (temp_obj.length != 0 )
|
||||
{
|
||||
temp_obj.forEach( async (temp_obj_element) =>
|
||||
{
|
||||
Object.assign( obj,{ pd_id : pd_id.pd_id} );
|
||||
Object.assign( obj,temp_obj_element );
|
||||
var index = creditFilter_table_name[0].table_name;
|
||||
var tableName = arr[index]
|
||||
await tableName.create( obj ).then((data)=>{}).catch((err)=>console.log(err));
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
Object.assign( obj,{ pd_id : pd_id.pd_id} );
|
||||
var index = creditFilter_table_name[0].table_name;
|
||||
var tableName = arr[index]
|
||||
await tableName.create( obj ).then((data)=>{}).catch((err)=>console.log(err));
|
||||
}
|
||||
} // if end
|
||||
} // outer forLoop
|
||||
const tempData = parse(JSON.stringify(req.body.data));
|
||||
var obj = { };
|
||||
let temp_obj = [ ];
|
||||
var arr_ObjKey = [ ]
|
||||
var creditFilter_obj_key = [ ];
|
||||
var creditFilter_table_name = [ ];
|
||||
var name;
|
||||
var loan_amount;
|
||||
var pd_id = [ ];
|
||||
|
||||
// create creditGeneralInormationData
|
||||
for (const [key, value] of Object.entries(tempData)) {
|
||||
if (key == "Loan details" || key =="Borrower & Guarantor Details") {
|
||||
for (var [keys, element] of Object.entries(value)) {
|
||||
if ( Array.isArray(element) == true ) {
|
||||
element.forEach(async(element , index) => {
|
||||
if ( keys == 'borrower_details' && index == 0 ) {
|
||||
Object.assign( obj , {name : element['borrower_name']})
|
||||
Object.assign(obj, { ref_no: req.body.pdid , product :req.body.product , case_no :req.body.caseno});
|
||||
}
|
||||
});
|
||||
} else { if ( keys == 'loan_amount') { { Object.assign( obj , { loan_amount : element })} } }
|
||||
}
|
||||
}
|
||||
}
|
||||
// Object.assign( obj , { ref_no : req.body.pdid });
|
||||
await CreditGeneralInformation.create(obj)
|
||||
.then((successData)=>{logMsg.info("GeneralInformation insert success ,PdId= "+successData.dataValues.pd_id);})
|
||||
.catch((err)=>{ logMsg.info("GeneralInformation insert failed ,PdId(ref_no)= "+req.body.pdid); });
|
||||
pd_id = await CreditGeneralInformation.findOne({ where : { ref_no : req.body.pdid , is_active : 1 }});
|
||||
// pd_id = await CreditGeneralInformation.create(obj)
|
||||
|
||||
|
||||
// loop to check if the data is array or nestedObject or objects
|
||||
for (const [key, value] of Object.entries(tempData)) {
|
||||
creditFilter_obj_key = await CreditFilterTable.findAll({ raw: true , attributes: [ 'mul_key' ], where : { section : key , is_active : 1 , is_mul : 1}})
|
||||
creditFilter_table_name = await CreditFilterTable.findAll({ raw: true, attributes: [ 'table_name' ,'section' ,'ques_key'], where : { section : key , is_active : 1 } , group: ['table_name' , 'section' ,'ques_key']})
|
||||
for (let index = 0; index < creditFilter_obj_key.length; index++)
|
||||
{
|
||||
arr_ObjKey.push(creditFilter_obj_key[index].mul_key) // store nested obj keys
|
||||
}
|
||||
if (key == creditFilter_table_name[0].section) {
|
||||
temp_obj.length = 0 ; // clear array datas
|
||||
obj = { }; // clear obj datas
|
||||
|
||||
// Check if the data is array or not
|
||||
for (var [arr_keys, arr_of_element] of Object.entries(value)) {
|
||||
if ( Array.isArray(arr_of_element) == true )
|
||||
{
|
||||
arr_of_element.forEach(async(iter_element , index) => {
|
||||
// assign only value with in array
|
||||
if (Object.keys(iter_element)[0] == '0') {
|
||||
temp_obj.push({ [arr_keys] : iter_element })
|
||||
}
|
||||
// assign array of objects
|
||||
else
|
||||
{
|
||||
temp_obj.push(iter_element) ;
|
||||
}
|
||||
});
|
||||
}
|
||||
// assign nestedObject datas
|
||||
else if( typeof arr_of_element === "object" && ( arr_of_element !== null ) )
|
||||
{
|
||||
delete arr_of_element.display_data;
|
||||
delete value.display_data;
|
||||
await Credit_PdHelper.CreditPd( arr_keys , arr_of_element , arr_ObjKey , obj )
|
||||
}
|
||||
// assign object data
|
||||
else
|
||||
{
|
||||
if (moment(arr_of_element, "DD-MM-YYYY", true).isValid() == true) {
|
||||
var mydate = moment(arr_of_element, "DD-MM-YYYY"); // convert dd/mm/yyyy to yyyy/mm/dd
|
||||
var my_date = moment(mydate).format("YYYY-MM-DD")
|
||||
Object.assign( obj, { [arr_keys] : my_date });
|
||||
} else { Object.assign( obj, { [arr_keys] : arr_of_element }); }
|
||||
}
|
||||
}// end of inner forLoop
|
||||
// DB insertion
|
||||
// insert array of object datas
|
||||
if (temp_obj.length != 0 )
|
||||
{
|
||||
temp_obj.forEach( async (temp_obj_element) =>
|
||||
{
|
||||
Object.assign( obj,{ pd_id : pd_id.pd_id} );
|
||||
Object.assign( obj,temp_obj_element );
|
||||
var index = creditFilter_table_name[0].table_name;
|
||||
var tableName = arr[index]
|
||||
await tableName.create( obj )
|
||||
.then((successData)=>{logMsg.info(` ${tableName} insert success ,PdId= `+pd_id.pd_id);})
|
||||
.catch((err)=>{ logMsg.info(` ${tableName} insert failed ,PdId= `+pd_id.pd_id); });
|
||||
});
|
||||
}
|
||||
// insert nestedObject and object datas
|
||||
else
|
||||
{
|
||||
Object.assign( obj,{ pd_id : pd_id.pd_id} );
|
||||
var index = creditFilter_table_name[0].table_name;
|
||||
var tableName = arr[index]
|
||||
await tableName.create( obj )
|
||||
.then((successData)=>{logMsg.info(` ${tableName} insert success ,PdId= `+pd_id.pd_id);})
|
||||
.catch((err)=>{ logMsg.info(` ${tableName} insert failed ,PdId= `+pd_id.pd_id); });
|
||||
}
|
||||
} // if end
|
||||
} // end of outer forLoop
|
||||
|
||||
} catch(err) {
|
||||
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
|
||||
} //end of try catch
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
exports.PullCreditPdPhotographsData = async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
// fetch SMC PdId from DB
|
||||
GeneralSectionData = await CreditGeneralInformation.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
|
||||
PdId = GeneralSectionData.dataValues.pd_id;
|
||||
// convert image file to base64 code
|
||||
// path = "storage/uploads/"
|
||||
// file = path+img_name;
|
||||
// base64_data = "data:image/png;base64," + fs.readFileSync(file, 'base64');
|
||||
// insert photograph data here
|
||||
|
||||
await Photograph.create({pd_id: PdId , ref_no :req.body.pdid , img_name :req.body.img_name , img : img_name})
|
||||
.then((successData)=>{logMsg.info("Photograph insert success ,PdId= "+PdId);})
|
||||
.catch((err)=>{ logMsg.info("Photograph insert failed ,PdId= "+PdId+" ERROR : "+err);});
|
||||
// responce to FE
|
||||
setTimeout(() => {
|
||||
res.send({'status':200,'message':"success",'data':"INSERT INTO sales_photograph (pd_id,ref_no,img_name,img) VALUES ("+PdId+","+req.body.pdid+","+req.body.img_name+","+base64_data+")"});
|
||||
}, 300);
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
|
||||
} //end of try catch
|
||||
|
||||
};
|
||||
|
||||
|
||||
exports.imageView = async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
const filePath = "storage/uploads/"+req.query.img_name;
|
||||
const { dirname } = require('path');
|
||||
const appDir = dirname(require.main.filename);
|
||||
|
||||
res.sendFile(filePath , { root: appDir });
|
||||
} catch(err) {
|
||||
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" }) ;
|
||||
} //end of try catch
|
||||
};
|
||||
|
||||
|
||||
|
||||
exports.DownloadPdReport = async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
pd_id = req.query.ref_no;
|
||||
DownloadPdReportUrl = process.env.PD_REPORT_URL;
|
||||
url = DownloadPdReportUrl+""+pd_id;
|
||||
|
||||
|
||||
request({
|
||||
url: url,
|
||||
method: "GET"
|
||||
|
||||
}, function (error, response, body) { console.log(body);
|
||||
if (body != undefined) {
|
||||
data = JSON.parse(body);
|
||||
if ( data.status == 200) {
|
||||
|
||||
link = data.records;
|
||||
res.send({'status':200,'message':"success",'data':link});
|
||||
}else{
|
||||
res.send({'status':404,'message':"failed",'data':"No data"});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
|
||||
} //end of try catch
|
||||
|
||||
};
|
||||
|
||||
exports.GetCreditPdData = async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
applicantDetails = await Credit_PdHelper.MainApplicantDetails(req.query.losid);
|
||||
MainApplicantDetails = JSON.parse(applicantDetails);
|
||||
|
||||
if(MainApplicantDetails.status == 200)
|
||||
{
|
||||
var resData = await CreditGeneralInformation.findAll({ where : { name : MainApplicantDetails.data.name,is_active : 1},
|
||||
include : [
|
||||
{model: CreditAddressDetail }, {model: CreditFuturePlans },
|
||||
{model : CreditBorrowerAndGuarantorDetails },
|
||||
{model: CreditBusinessAndPersonalBankingDetails }, {model: BusinessAsset },
|
||||
{model: CreditFinancialInformation }, {model: CreditKeyShareholder },
|
||||
{model: CreditKeyProductBusinessContribution }, {model: EmployeeStrength },
|
||||
{model: ClientDetail }, {model: StockDetail },
|
||||
{model: CreditExistingLoanObligation }, {model: FamilyMemberInvolvedInBusiness },
|
||||
{model : CreditManager }, // {model: Photograph },
|
||||
{model: CreditFinalRemarks }, {model: CreditLoanDetail },
|
||||
{model: CreditGeneralBusinessInformation }, {model: SupplierDetail }
|
||||
]
|
||||
})
|
||||
res.send({'status':200,'message':"success",'data':resData});
|
||||
}else
|
||||
{
|
||||
res.send({'status':404,'message':"failed",'data':"No data"});
|
||||
}
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -28,4 +28,4 @@ exports.PullCreditPdData = async (req, res) =>
|
||||
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
|
||||
} //end of try catch
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
const { sequelize,Test,CreditGeneralInformation,SizeAndGeographicalResearch,CreditProfile,ProductAndProcess,PortFolioHealth,TotalOverallDebit,OverallPlanOfAction,ValidationPoint,
|
||||
CreditLoanDetail,CreditFinalRemarks,CreditGeneralBusinessInformation,CreditKeyProductBusinessContribution,EmployeeStrength,CreditBusinessAndPersonalBankingDetails,CreditFinancialInformation,
|
||||
SupplierDetail ,ClientDetail,CreditFuturePlans,CreditExistingLoanObligation,FamilyMemberInvolvedInBusiness,CreditManager,CreditBorrowerAndGuarantorDetails,CreditFinancialAnalysis,CreditAddressDetail,
|
||||
CreditKeyShareholder,Covid19Questions,StockDetail,BusinessAsset,CreditFilterTable} = require('../models')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class CreditGeneralInformation extends Model {
|
||||
|
||||
@ -15,6 +19,8 @@ module.exports = (sequelize, DataTypes) => {
|
||||
loan_amount: { type: DataTypes.INTEGER },
|
||||
product: { type: DataTypes.STRING },
|
||||
location: { type: DataTypes.STRING },
|
||||
ref_no: { type: DataTypes.INTEGER },
|
||||
case_no: { type: DataTypes.STRING },
|
||||
createdby: { type: DataTypes.INTEGER },
|
||||
updatedby: { type: DataTypes.INTEGER }
|
||||
},
|
||||
@ -24,7 +30,80 @@ module.exports = (sequelize, DataTypes) => {
|
||||
modelName: 'CreditGeneralInformation',
|
||||
}
|
||||
)
|
||||
|
||||
CreditGeneralInformation.associate = models => {
|
||||
CreditGeneralInformation.hasMany(models.CreditAddressDetail, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditFuturePlans, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditBorrowerAndGuarantorDetails, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditBusinessAndPersonalBankingDetails, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.BusinessAsset, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditFinancialInformation, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditKeyShareholder, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditKeyProductBusinessContribution, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.EmployeeStrength, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.ClientDetail, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.StockDetail, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditExistingLoanObligation, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.FamilyMemberInvolvedInBusiness, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditManager, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditFinalRemarks, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditLoanDetail, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.CreditGeneralBusinessInformation, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
CreditGeneralInformation.hasMany(models.SupplierDetail, {
|
||||
foreignKey: 'pd_id',
|
||||
sourceKey : 'pd_id'
|
||||
});
|
||||
}
|
||||
|
||||
return CreditGeneralInformation
|
||||
}
|
||||
25
app/models/Photograph.js
Normal file
25
app/models/Photograph.js
Normal file
@ -0,0 +1,25 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class Photograph extends Model {
|
||||
|
||||
}
|
||||
Photograph.init(
|
||||
{
|
||||
pd_id: { type: DataTypes.INTEGER },
|
||||
ref_no: { type: DataTypes.INTEGER },
|
||||
img: { type: DataTypes.STRING },
|
||||
img_name: { type: DataTypes.STRING },
|
||||
createdby: { type: DataTypes.INTEGER },
|
||||
updatedby: { type: DataTypes.INTEGER }
|
||||
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'credit_photograph',
|
||||
modelName: 'Photograph',
|
||||
}
|
||||
)
|
||||
|
||||
return Photograph
|
||||
}
|
||||
@ -7,8 +7,8 @@ module.exports = (sequelize, DataTypes) => {
|
||||
SupplierDetail.init(
|
||||
{
|
||||
pd_id: { type: DataTypes.INTEGER },
|
||||
stock_info_available: { type: DataTypes.STRING },
|
||||
stock_not_available_reason: { type: DataTypes.STRING },
|
||||
supplier_info_available: { type: DataTypes.STRING },
|
||||
supplier_not_available_reason: { type: DataTypes.STRING },
|
||||
provider_name: { type: DataTypes.STRING },
|
||||
supplier_name: { type: DataTypes.STRING },
|
||||
contact_person_name: { type: DataTypes.STRING },
|
||||
|
||||
@ -20,9 +20,15 @@ module.exports = app => {
|
||||
* 200:
|
||||
* description: success
|
||||
*/
|
||||
router.get("/demo", Mycontroller.Welcome);
|
||||
router.get("/demo", CreditPdController.Welcome);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Pull CreditPd Data
|
||||
/**
|
||||
* @swagger
|
||||
* definitions:
|
||||
@ -59,12 +65,158 @@ module.exports = app => {
|
||||
* 500:
|
||||
* description: failed
|
||||
*/
|
||||
router.post("/PullCreditPdData", Mycontroller.PullCreditPdData);
|
||||
router.get("/PullCreditPdData", CreditPdController.PullCreditPdData);
|
||||
|
||||
|
||||
router.get('/creditPd',CreditPdController.CreditPd)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// photograph upload
|
||||
const multer = require('multer');
|
||||
img_name = "";
|
||||
const storage = multer.diskStorage({
|
||||
destination: (req, file, cb) => {
|
||||
cb(null, 'storage/uploads/');
|
||||
},
|
||||
filename: (req, file, cb) => {
|
||||
img_name = "";
|
||||
img_name += Date.now()+'-'+file.originalname;
|
||||
cb(null, img_name);
|
||||
}
|
||||
});
|
||||
const upload = multer({ storage });
|
||||
/**
|
||||
* @swagger
|
||||
* definitions:
|
||||
* PullCreditPdPhotographsData:
|
||||
* type: object
|
||||
* properties:
|
||||
* pdid:
|
||||
* type: integer
|
||||
* description: pdid
|
||||
* example: 6646
|
||||
* product:
|
||||
* type: string
|
||||
* description: product
|
||||
* example: LFMP
|
||||
* caseno:
|
||||
* type: string
|
||||
* description:
|
||||
* example: MW53315
|
||||
* img:
|
||||
* type: file
|
||||
* description: image file
|
||||
* example:
|
||||
* img_name:
|
||||
* type: string
|
||||
* description: image file
|
||||
* example: sample
|
||||
*/
|
||||
/**
|
||||
* @swagger
|
||||
* /api/PullCreditPdPhotographsData:
|
||||
* post:
|
||||
* summary: Pull CreditPd Photographs Data
|
||||
* description: Pull CreditPd Photographs Data
|
||||
* requestBody:
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* $ref: '#/definitions/PullCreditPdPhotographsData'
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
* 500:
|
||||
* description: failed
|
||||
*/
|
||||
// router.post('/PullCreditPdPhotographsData', upload.single('img'),function(req,res){ CreditPdController.PullCreditPdPhotographsData(req,res,img_name); } );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// view image
|
||||
/**
|
||||
* @swagger
|
||||
* /api/imageView:
|
||||
* get:
|
||||
* summary: view image file api
|
||||
* description:
|
||||
* parameters:
|
||||
* - in: query
|
||||
* name: img_name
|
||||
* schema:
|
||||
* type: integer
|
||||
* required: true
|
||||
* example:
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
*/
|
||||
// router.get('/imageView',CreditPdController.imageView);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//get credit pd data List Api
|
||||
/**
|
||||
* @swagger
|
||||
* /api/GetCreditPdData:
|
||||
* get:
|
||||
* summary: Get CreditPdData Data List
|
||||
* description: Get CreditPdData Data List
|
||||
* parameters:
|
||||
* - in: query
|
||||
* name: losid
|
||||
* schema:
|
||||
* type: string
|
||||
* required: true
|
||||
* example: MW112233
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
*/
|
||||
router.get('/GetCreditPdData',CreditPdController.GetCreditPdData)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// DownloadPdReport
|
||||
/**
|
||||
* @swagger
|
||||
* /api/DownloadPdReport:
|
||||
* get:
|
||||
* summary: Download Pd Report as pdf file
|
||||
* description: Download Pd Report as pdf file
|
||||
* parameters:
|
||||
* - in: query
|
||||
* name: ref_no
|
||||
* schema:
|
||||
* type: integer
|
||||
* required: true
|
||||
* example: 614
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
*/
|
||||
// router.get("/DownloadPdReport", SalesPdController.DownloadPdReport);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// routes started here
|
||||
app.use('/api', router);
|
||||
};
|
||||
|
||||
@ -4,6 +4,7 @@ const { sequelize,Test,CreditGeneralInformation,SizeAndGeographicalResearch,Cred
|
||||
SupplierDetail ,ClientDetail,CreditFuturePlans,CreditExistingLoanObligation,FamilyMemberInvolvedInBusiness,CreditManager,CreditBorrowerAndGuarantorDetails,CreditFinancialAnalysis,CreditAddressDetail,
|
||||
CreditKeyShareholder,Covid19Questions,StockDetail,BusinessAsset} = require('../models')
|
||||
const { logMsg } = require('../services/logger.js');
|
||||
const request = require('request');
|
||||
|
||||
|
||||
exports.CreditPd = async ( credit_key , credit_value ,credit_temp_array ,credit_obj) => {
|
||||
@ -12,7 +13,29 @@ exports.CreditPd = async ( credit_key , credit_value ,credit_temp_array ,credit
|
||||
await Object.assign( credit_obj, { [credit_key] : credit_value[credit_temp_array[i]] });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
exports.MainApplicantDetails = async(losid) => {
|
||||
|
||||
try {
|
||||
const url = "https://demo.devopsmcfinance.com/cet_mainapp/api/MainApplicantDetailsList?losid="+losid;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
request({
|
||||
url: url,
|
||||
method: "GET"
|
||||
|
||||
}, function (error, response, body) {
|
||||
resolve(body);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
338
package-lock.json
generated
338
package-lock.json
generated
@ -20,6 +20,7 @@
|
||||
"log4js": "^6.3.0",
|
||||
"moment": "^2.29.3",
|
||||
"mssql": "^7.2.0",
|
||||
"multer": "^1.4.4",
|
||||
"request": "^2.88.2",
|
||||
"sequelize": "^6.6.5",
|
||||
"swagger-jsdoc": "^6.1.0",
|
||||
@ -857,6 +858,11 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/append-field": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
|
||||
"integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY="
|
||||
},
|
||||
"node_modules/aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
@ -1152,6 +1158,44 @@
|
||||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
|
||||
},
|
||||
"node_modules/buffer-from": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
||||
},
|
||||
"node_modules/busboy": {
|
||||
"version": "0.2.14",
|
||||
"resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz",
|
||||
"integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
|
||||
"dependencies": {
|
||||
"dicer": "0.2.5",
|
||||
"readable-stream": "1.1.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/busboy/node_modules/isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"node_modules/busboy/node_modules/readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"dependencies": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"node_modules/busboy/node_modules/string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
},
|
||||
"node_modules/bytes": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
@ -1432,6 +1476,47 @@
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"node_modules/concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"engines": [
|
||||
"node >= 0.8"
|
||||
],
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/concat-stream/node_modules/readable-stream": {
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
|
||||
"dependencies": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/concat-stream/node_modules/safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"node_modules/concat-stream/node_modules/string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/configstore": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
|
||||
@ -1631,6 +1716,39 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/dicer": {
|
||||
"version": "0.2.5",
|
||||
"resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
|
||||
"integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
|
||||
"dependencies": {
|
||||
"readable-stream": "1.1.x",
|
||||
"streamsearch": "0.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dicer/node_modules/isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"node_modules/dicer/node_modules/readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"dependencies": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"node_modules/dicer/node_modules/string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
},
|
||||
"node_modules/doctrine": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||
@ -2696,8 +2814,7 @@
|
||||
"node_modules/isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
|
||||
"optional": true
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"node_modules/isstream": {
|
||||
"version": "0.1.2",
|
||||
@ -3109,8 +3226,18 @@
|
||||
"node_modules/minimist": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
|
||||
"devOptional": true
|
||||
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
|
||||
},
|
||||
"node_modules/mkdirp": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.6"
|
||||
},
|
||||
"bin": {
|
||||
"mkdirp": "bin/cmd.js"
|
||||
}
|
||||
},
|
||||
"node_modules/mkdirp-classic": {
|
||||
"version": "0.5.3",
|
||||
@ -3197,6 +3324,24 @@
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/multer": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz",
|
||||
"integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==",
|
||||
"dependencies": {
|
||||
"append-field": "^1.0.0",
|
||||
"busboy": "^0.2.11",
|
||||
"concat-stream": "^1.5.2",
|
||||
"mkdirp": "^0.5.4",
|
||||
"object-assign": "^4.1.1",
|
||||
"on-finished": "^2.3.0",
|
||||
"type-is": "^1.6.4",
|
||||
"xtend": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/napi-build-utils": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||
@ -3574,8 +3719,7 @@
|
||||
"node_modules/process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
||||
"optional": true
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||
},
|
||||
"node_modules/proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
@ -4215,6 +4359,14 @@
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/streamsearch": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
|
||||
"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=",
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
@ -4550,6 +4702,11 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"node_modules/typedarray-to-buffer": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
|
||||
@ -4969,6 +5126,14 @@
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||
"engines": {
|
||||
"node": ">=0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
@ -5689,6 +5854,11 @@
|
||||
"picomatch": "^2.0.4"
|
||||
}
|
||||
},
|
||||
"append-field": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
|
||||
"integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY="
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
@ -5926,6 +6096,43 @@
|
||||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
||||
},
|
||||
"busboy": {
|
||||
"version": "0.2.14",
|
||||
"resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz",
|
||||
"integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
|
||||
"requires": {
|
||||
"dicer": "0.2.5",
|
||||
"readable-stream": "1.1.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
@ -6146,6 +6353,46 @@
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"readable-stream": {
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"configstore": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
|
||||
@ -6293,6 +6540,38 @@
|
||||
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
|
||||
"optional": true
|
||||
},
|
||||
"dicer": {
|
||||
"version": "0.2.5",
|
||||
"resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
|
||||
"integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
|
||||
"requires": {
|
||||
"readable-stream": "1.1.x",
|
||||
"streamsearch": "0.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
"doctrine": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||
@ -7097,8 +7376,7 @@
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
|
||||
"optional": true
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
@ -7449,8 +7727,15 @@
|
||||
"minimist": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
|
||||
"devOptional": true
|
||||
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||
"requires": {
|
||||
"minimist": "^1.2.6"
|
||||
}
|
||||
},
|
||||
"mkdirp-classic": {
|
||||
"version": "0.5.3",
|
||||
@ -7518,6 +7803,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"multer": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz",
|
||||
"integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==",
|
||||
"requires": {
|
||||
"append-field": "^1.0.0",
|
||||
"busboy": "^0.2.11",
|
||||
"concat-stream": "^1.5.2",
|
||||
"mkdirp": "^0.5.4",
|
||||
"object-assign": "^4.1.1",
|
||||
"on-finished": "^2.3.0",
|
||||
"type-is": "^1.6.4",
|
||||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"napi-build-utils": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||
@ -7798,8 +8098,7 @@
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
||||
"optional": true
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||
},
|
||||
"proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
@ -8250,6 +8549,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"streamsearch": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
|
||||
"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
@ -8506,6 +8810,11 @@
|
||||
"mime-types": "~2.1.24"
|
||||
}
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"typedarray-to-buffer": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
|
||||
@ -8836,6 +9145,11 @@
|
||||
"resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz",
|
||||
"integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ=="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"log4js": "^6.3.0",
|
||||
"moment": "^2.29.3",
|
||||
"mssql": "^7.2.0",
|
||||
"multer": "^1.4.4",
|
||||
"request": "^2.88.2",
|
||||
"sequelize": "^6.6.5",
|
||||
"swagger-jsdoc": "^6.1.0",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user