var parseJson = require('xml-js'); var stats = require('../helper/stats.js'); var messageSOAP = require('../helper/messageSOAP.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.vizcard = async function (req, res, next) { var getCmd = "VIZCard"; var sendCmd = "SearchCustomer"; var sacf = "SACF"; var method = constant.METHOD.GET; var customerId = req.query.clientName+"@"+req.query.commandId; log.startlog(method+"_"+getCmd,req.query.commandId,customerId); log.logDetail.addInput(req.query.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"); log.log(err,'error'); var response = responseMsg.error(req,getCmd,40300); // res.status(200).json(response); }else { log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success"); var objectData = { Username : "axviz", Password : "1234", SystemName : "30", QueryType : "1", CardId : req.query.commandId, firstName : req.query.firstName, lastName : req.query.lastName, emailAddress : req.query.emailAddress, moblieNo : req.query.moblieNo }; const result = await connection.requestSoapToSACF(objectData,sendCmd,constant.METHOD.POST); // console.log(result.err) if(typeof result.err === 'undefined'){ try { var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4}) resultSoap = JSON.parse(resultSoap) resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; var resultSet = messageSOAP.soapToArray(req,resultSoap); stats.receiveSACFResponse(sacf,sendCmd,"Success"); var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length}); log.addSuccessSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); } catch(error) { result.response = constant.RESPONSERESULT.ERROR stats.receiveSACFBadResponse(sacf,sendCmd); response = responseMsg.direct(req,getCmd,result.response); log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); var resultSet = {rawDataJson : ""} } } else { stats.receiveSACFResponse(sacf,sendCmd,"Error"); response = responseMsg.direct(req,getCmd,result.response); log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); var resultSet = {rawDataJson : ""} } log.logDetail.addInput(sacf,method+"_"+sendCmd,constant.RESPONSE,result,resultSet.rawDataJson); } // console.log(response); log.logDetail.addOutput(sacf,method+"_"+getCmd,constant.RESPONSE,response,response); res.status(200).json(response); next(); }; function validator(req,cmd) { var list = []; list.push([true,"queryStr","commandId","int"]); list.push([true,"queryStr","clientName","string"]); // list.push([true,"queryStr","lastName","string"]); // list.push([true,"queryStr","emailAddress","string"]); // list.push([true,"queryStr","mobileNo","string"]); // list.push([false,"queryStr","mobileNo","string"]); var err = validatorHelper(req,list); if(err.length > 0) stats.receiveBadRequest(req.method,cmd); else stats.receiveRequest(req.method,cmd); return err; }