postCustomer.ctrl.js 2.39 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');

exports.postCustomer = async function (req, res, next){
    var getCmd = "Customer";
    var sendCmd = "Customer";

    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");

        // console.log(result.response.body);

        if(typeof result.err === 'undefined'){
            
            var resultObj = JSON.parse(result.response.body);
            
            // (req,cmd,data,result)
            if(resultObj.resultCode.startsWith("40"))
            {
                if(resultObj.resultCode != "40401")
                    resultObj.resultCode = "50000";               
               
            }

            var response = responseMsg.direct(req,getCmd,resultObj);

        }
        
     
    }

    
   
    if(!response)
        var response = responseMsg.error(req,getCmd,5000);

    res.status(200).json(response);
};

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.reciveRequest(req.method,api,false);    
    else
        stats.reciveRequest(req.method,api,true);

    return err;
}