Blame view

ais-structure/src/modules/customer/putCustomer.ctrl.js 3.83 KB
887b2ec5   Nattapon Wongpaet   update put customer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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.putCustomer = async function (req, res, next){
    var getCmd = "Customer";
    var sendCmd = "Customer";
    var d01 = "D01";
    var method = constant.METHOD.PUT;

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

    var err = await validator(req,getCmd);
   
    if(err.length > 0)
    {
        log.addErrorSummary(req,req.body.clientName,method+"_"+getCmd,"null",constant.FAIL);
        console.log(err);
        var response = responseMsg.error(req,getCmd,40300);
    }else
    {
        log.addSuccessSummary(req,req.body.clientName,method+"_"+getCmd,"null",constant.SUCCESS);

        if(req.params.customerId){
            var filter = {
                customerId : req.params.customerId
            }
        } else {
            var filter = {
                userType : req.params.userType,
                userData : req.params.userData
            }
        }

        const result = await connection.requestJsonToD01(req,req.body.customerData,sendCmd,method,filter);
        // log.logDetail.addInput(req,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,method,sendCmd,constant.SUCCESS);
                var response = responseMsg.direct(req,getCmd,resultObj);
                // log.addSuccessSummary(req,d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
            } else if(resultObj.resultCode.startsWith("404")){
                // stats.receiveRestResponse(d01,method,sendCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
                var response = responseMsg.direct(req,getCmd,resultObj);
                // log.addErrorSummary(req,d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
            } else if(resultObj.resultCode.startsWith("5")){
                // stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
                var response = responseMsg.direct(req,getCmd,resultObj);
                // log.addErrorSummary(req,d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
            } else {
                // stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
                var response = responseMsg.error(req,getCmd,50000);
            }
        } else {
            // stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
            var response = responseMsg.error(req,getCmd,50000);
        }
    }

    log.logDetail.addOutput(req,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","commandId","string"]);
    list.push([true,"body","clientName","string"]);
    // list.push([true,"body","user.userType","string"]);
    // list.push([true,"body","user.userData","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;
}