var stats = require('../helper/stats.js'); var validatorHelper = require('../helper/validator.js'); var connection = require('../helper/connection.js'); var responseMsg = require('../helper/responseMsg.js'); var log = require('../helper/log.js'); var constant = require('../helper/constants.js') exports.postCustomer = async function (req, res, next){ var getCmd = "Customer"; var sendCmd = "Customer"; var sacf = "SACF"; var d01 = "D01"; log.startlog(getCmd,req); log.logDetail.addInput(sacf,getCmd,constant.REQUEST,req,req.body); var err = validator(req,getCmd); if(err.length > 0) { console.log(err); var response = responseMsg.error(req,getCmd,40300); }else { var objectData = { customerId : req.body.user.userData+"@"+req.body.user.userType, userIdData : req.body.user.userData, userIdType : req.body.user.userType, firstName : req.body.firstName, lastName : req.body.lastName, mobile : req.body.mobile, emailAddress : req.body.emailAddress, dateCreated : req.body.dateCreated }; const result = await connection.requestJsonToD01(objectData,sendCmd,"POST"); log.logDetail.addInput(d01,sendCmd,constant.RESPONSE,result,result.response); if(typeof result.err === 'undefined'){ // console.log(result.response.body); var resultObj = result.response; if(resultObj.resultCode.startsWith("2")) { stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Success"); var response = responseMsg.direct(req,getCmd,resultObj,{customerId:objectData.customerId}); log.addSuccessSummary(d01,sendCmd,response); } else { if(resultObj.resultCode != "40401"){ resultObj.resultCode = "50000"; } stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); var response = responseMsg.direct(req,getCmd,resultObj); log.addErrorSummary(d01,sendCmd,response); } } else { response = responseMsg.direct(req,getCmd,result.response); log.addErrorSummary(d01,sendCmd,response); } } if(!response){ var response = responseMsg.error(req,getCmd,50000); stats.receiveResponse(sacf,sendCmd,"Error"); } log.logDetail.addOutput(sacf,getCmd,constant.RESPONSE,response,response); res.status(200).json(response); next(); }; function validator(req,api) { // console.log(req.body); var list = []; list.push([true,"body","user.userType","string"]); list.push([true,"body","user.userData","string"]); list.push([true,"body","commandId","string"]); list.push([true,"body","clientName","string"]); list.push([true,"body","firstName","string"]); list.push([true,"body","lastName","string"]); list.push([true,"body","mobile","string"]); list.push([true,"body","emailAddress","string"]); var err = validatorHelper(req,list,api) if(err.length > 0) stats.receiveBadRequest(req.method,api); else stats.receiveRequest(req.method,api); return err; }