customer.ctrl.js 3.61 KB
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.customer = async function (req, res, next) {    
    var getCmd = "Customer";
    var sendCmd = "Customer";
    var sacf = "SACF";
    var d01 = "D01"
    var method = constant.METHOD.GET

    var err = validator(req,getCmd);

    if(req.params.customerId){
        var customerId = req.params.customerId
    } else if(req.params.userData && req.params.userType){
        var customerId = req.params.userData+"@"+req.params.userType
    } else {
        var customerId = req.query.clientName+"@"+req.query.commandId;
    }

    log.startlog(method+"_"+getCmd,req.query.commandId,customerId);
    log.logDetail.addInput(req.query.clientName,getCmd,constant.REQUEST,req,req.body);

    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 = req.query;
        const result = await connection.requestJsonToD01(objectData,sendCmd,method);
        // console.log(Object.keys(result))
        log.logDetail.addInput(d01,sendCmd,constant.RESPONSE,result,result.response);
        if(typeof result.err === 'undefined'){
            // console.log(result.response);
            var resultObj = result.response;
            if(resultObj.resultCode == "20000")
            {
                if(resultObj.resultData && resultObj.resultData.length>0)
                {
                    stats.receiveRestResponse(d01,method,sendCmd,"Success");
                    var response = responseMsg.success(req,getCmd,resultObj);
                    log.addSuccessSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
                }else
                {
                    stats.receiveRestResponse(d01,method,sendCmd,"Data Not Found");
                    var response = responseMsg.error(req,getCmd,40300);
                    log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
                }
            }
        } else {
            stats.receiveRestResponse(d01,method,sendCmd,"Error");
            response = responseMsg.direct(req,getCmd,result.response);
            log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
        }
    }

    if(!response){
        var response = responseMsg.error(req,getCmd,50000);
        stats.receiveRestResponse(d01,method,sendCmd,"Error");
    }

    log.logDetail.addOutput(req.query.clientName,getCmd,constant.RESPONSE,response,response); 
    res.status(200).json(response);
    next();
};


function validator(req,api)
{
    var list = [];
    list.push([true,"queryStr","commandId","String"]);
    list.push([true,"queryStr","clientName","String"]);
    var err = validatorHelper(req,list,api)
   
    // if((typeof req.query["userType"] !== 'undefined') && (typeof req.query["userData"] === 'undefined'))
    // {
    //     var errDes = {
    //         Param : "userData",
    //         Reason : "Missing"
    //     }
    //     err.push(errDes);
    // }
    
    if(err.length > 0)    
        stats.receiveBadRequest(req.method,api);    
    else
        stats.receiveRequest(req.method,api);
    
    return err;
}