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"; var method = constant.METHOD.POST; if(req.body.user.userData && req.body.user.userType){ var customerId = req.body.user.userData+"@"+req.body.user.userType; } log.startlog(method+"_"+getCmd,req.body.commandId,customerId); log.logDetail.addInput(req.body.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body); var err = validator(req,getCmd); if(err.length > 0) { log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail"); console.log(err); var response = responseMsg.error(req,getCmd,40300); }else { log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success"); var objectData = { customerId : customerId, 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,method+"_"+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,method+"_"+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,method+"_"+sendCmd,response); } } else { stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); var response = responseMsg.direct(req,getCmd,result.response); log.addErrorSummary(d01,method+"_"+sendCmd,response); } } log.logDetail.addOutput(req.body.clientName,method+"_"+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; }