var fs = require('fs'); var moment = require('moment'); var _ = require('lodash'); var env = process.env.NODE_ENV || 'development'; var rp = require('request-promise'); var logger = require('../../logger/logger'); var cfg = require('../../config/config.js').get(env); var request = require('request'); var parseJson = require('xml-js'); var _url = `http://10.1.3.74:8080`; var stats = require('../helper/stats.js'); var messageSOAP = require('../helper/messageSOAP.js'); var validatorHelper = require('../helper/validator.js'); exports.vizcard = async function (req, res, next) { var err = validator(req,"GET VIZCard"); if(err.length > 0) { console.log(err); var response = { resultCode : "40300", developerMessage : "Missing or invalid parameter" }; res.status(200).json(response); }else { // var requestXml = ` // // // // axviz // 1234 // 30 // 1 // ${req.params.id} // // // ` 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 }; var soap = messageSOAP.objectToSOAP(objectData,"SearchCustomer") // console.log(soap); // console.log(requestXml); // console.log(req.query.fields) const result = await asyncRequest({ url : _url, body : soap, method : 'POST' }); // console.log(result.err) if(typeof result.err === 'undefined'){ 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 resultData = messageSOAP.soapToArray(req,resultSoap); var response = { resultCode : "20000", developerMessage : "Success", resultData : resultData, rowCount : resultData.length }; } else { var response = { resultCode : "50000", developerMessage : "System error" }; } res.status(200).json(response); } }; function validator(req,api) { var list = []; list.push([true,"commandId","int"]); list.push([true,"firstName","string"]); list.push([true,"lastName","string"]); list.push([true,"emailAddress","string"]); list.push([true,"mobileNo","string"]); list.push([false,"mobileNo","string"]); return validatorHelper(req,list,api); } function asyncRequest (params = {}) { return new Promise((resolve, reject) => { request(params, function (error, response, body) { if (error) { console.log("error"); resolve({ 'body' : body, 'err' : error }); } else { console.log("normal"); resolve({ 'body' : body, 'response' : response }); } }); }); }