Commit 28b98d8c17a627f5dfeb2f42cbb1f9d2635660eb
1 parent
fa31f6f730
Exists in
master
hapus file yg sudah diintegrasikan ke komodo-sdk
Showing 2 changed files with 0 additions and 182 deletions Side-by-side Diff
center-http-response-server.js
... | ... | @@ -1,35 +0,0 @@ |
1 | -"use strict"; | |
2 | - | |
3 | -const http = require('http'); | |
4 | -const url = require('url'); | |
5 | - | |
6 | -const config = require('komodo-sdk/config'); | |
7 | -const logger = require('komodo-sdk/logger'); | |
8 | - | |
9 | -let transport; | |
10 | - | |
11 | -function onRequest(request, response) { | |
12 | - response.end('OK'); | |
13 | - var qs = url.parse(request.url, true).query; | |
14 | - logger.verbose('Got reverse report from CORE', {qs: qs}); | |
15 | - | |
16 | - if (transport && transport.send && qs && qs.terminal_name && qs.message) { | |
17 | - transport.send(qs.terminal_name, qs.message); | |
18 | - } | |
19 | -} | |
20 | - | |
21 | -function setTransport(newTransport) { | |
22 | - transport = newTransport; | |
23 | -} | |
24 | - | |
25 | -function create() { | |
26 | - let listenPort = config.listen_port; | |
27 | - | |
28 | - http.createServer(onRequest).listen(listenPort, function() { | |
29 | - logger.info('HTTP Reverse/Report server listen on port ' + listenPort); | |
30 | - });; | |
31 | -} | |
32 | - | |
33 | -create(); | |
34 | - | |
35 | -exports.setTransport = setTransport; |
trx-center.js
... | ... | @@ -1,147 +0,0 @@ |
1 | -"use strict"; | |
2 | - | |
3 | -const path = require('path'); | |
4 | -const request = require('request'); | |
5 | -const strftime = require('strftime'); | |
6 | -const config = require('komodo-sdk/config'); | |
7 | -const logger = require('komodo-sdk/logger'); | |
8 | - | |
9 | -const module_name = path.basename(__filename); | |
10 | - | |
11 | -let transport; | |
12 | - | |
13 | -function onOnline(params) { | |
14 | - logger.info('CENTER is ONLINE, ready to communicate'); | |
15 | - | |
16 | -} | |
17 | - | |
18 | -function onIncomingMessage(paramsFromTransport) { | |
19 | - logger.verbose('Reporting message to CORE') | |
20 | - | |
21 | - const command = paramsFromTransport.msg.split(/[\., ]+/)[0].toUpperCase(); | |
22 | - | |
23 | - if (config.commands.balance.indexOf(command) >= 0) { | |
24 | - executeBalanceCheck(paramsFromTransport); | |
25 | - } | |
26 | - else if (config.commands.price.indexOf(command) >= 0) { | |
27 | - executePriceCheck(paramsFromTransport); | |
28 | - } | |
29 | - else { | |
30 | - executePrepaidBuy(paramsFromTransport); | |
31 | - } | |
32 | -} | |
33 | - | |
34 | -function executeBalanceCheck(paramsFromTransport) { | |
35 | - const terminal_name = paramsFromTransport.partner.toLowerCase(); | |
36 | - const password = paramsFromTransport.msg.trim().split(/[\., ]+/)[1]; | |
37 | - | |
38 | - const requestOptions = { | |
39 | - url: config.core_url + '/services/balance', | |
40 | - qs: { | |
41 | - terminal_name: terminal_name, | |
42 | - password: password | |
43 | - } | |
44 | - } | |
45 | - | |
46 | - requestToCore(requestOptions); | |
47 | -} | |
48 | - | |
49 | -function executePriceCheck(paramsFromTransport) { | |
50 | - const requestOptions = { | |
51 | - url: config.core_url + '/services/pricelist', | |
52 | - qs: { | |
53 | - terminal_name: paramsFromTransport.partner.toLowerCase(), | |
54 | - keyword: paramsFromTransport.msg.trim().split(/[\., ]+/)[1] | |
55 | - } | |
56 | - } | |
57 | - | |
58 | - requestToCore(requestOptions); | |
59 | -} | |
60 | - | |
61 | -function parseBalanceResponse(body) { | |
62 | - let result; | |
63 | - | |
64 | - try { | |
65 | - result = JSON.parse(body); | |
66 | - } | |
67 | - catch(e) { | |
68 | - logger.warn('Error JSON parsing', {module_name: module_name, method_name: 'parseBalanceResponse', body: body}) | |
69 | - result = null; | |
70 | - } | |
71 | - return result; | |
72 | -} | |
73 | - | |
74 | -function generateRequestId(req) { | |
75 | - return 'AUTO_' + req.product_name + '_' + req.destination + '_' + strftime('%Y%m%d'); | |
76 | -} | |
77 | - | |
78 | -function executePrepaidBuy(paramsFromTransport) { | |
79 | - let tokens = paramsFromTransport.msg.trim().split(/[\., ]+/); | |
80 | - | |
81 | - let qs = { | |
82 | - request_id: null, | |
83 | - terminal_name: paramsFromTransport.partner.toLowerCase(), | |
84 | - product_name: tokens[0].toUpperCase(), | |
85 | - destination: tokens[1].toUpperCase(), | |
86 | - password: tokens[2], | |
87 | - origin: config.origin || config.username, | |
88 | - report_port: config.listen_port || '80', | |
89 | - msg: paramsFromTransport.msg | |
90 | - } | |
91 | - | |
92 | - qs.request_id = generateRequestId(qs); | |
93 | - if (tokens[3]) { | |
94 | - qs.request_id += '_' + tokens[3]; | |
95 | - } | |
96 | - | |
97 | - let requestOptions = { | |
98 | - url: config.core_url + '/prepaid/buy', | |
99 | - qs: qs | |
100 | - } | |
101 | - | |
102 | - requestToCore(requestOptions); | |
103 | -} | |
104 | - | |
105 | -function requestToCore(requestOptions, partner) { | |
106 | - logger.verbose('Requesting service to CORE', requestOptions); | |
107 | - | |
108 | - request(requestOptions, function(err, res, body) { | |
109 | - if (err || res.statusCode != 200) { | |
110 | - logger.warn('Error requesting to CORE', {module_name: module_name, method_name: 'requestToCore', requestOptions: requestOptions, err: err}); | |
111 | - transport.send(requestOptions.qs.terminal_name, 'INTERNAL ERROR'); | |
112 | - return; | |
113 | - } | |
114 | - | |
115 | - let result = parseBalanceResponse(body); | |
116 | - if (!result || !result.message) { | |
117 | - transport.send(requestOptions.qs.terminal_name, 'INTERNAL ERROR'); | |
118 | - return; | |
119 | - } | |
120 | - | |
121 | - transport.send(requestOptions.qs.terminal_name, result.message); | |
122 | - }) | |
123 | -} | |
124 | - | |
125 | -function parseCoreMessage(body) { | |
126 | - let coreRes; | |
127 | - try { | |
128 | - coreRes = JSON.parse(body) | |
129 | - } | |
130 | - catch(err) { | |
131 | - logger.warn('Exception on parsing CORE response as JSON', {body: body, err: err}); | |
132 | - coreRes = null; | |
133 | - } | |
134 | - return coreRes; | |
135 | -} | |
136 | - | |
137 | -const callback = { | |
138 | - onOnline: onOnline, | |
139 | - onIncomingMessage: onIncomingMessage | |
140 | -} | |
141 | - | |
142 | -function setTransport(_transport) { | |
143 | - transport = _transport; | |
144 | -} | |
145 | - | |
146 | -exports.callback = callback; | |
147 | -exports.setTransport = setTransport; |