50ac5707
Nattapon
initial commit
|
1
2
3
|
const express = require('express')
const app = express()
|
50ac5707
Nattapon
initial commit
|
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
|
const bodyParser = require('body-parser')
const configPartnerList = require('./config_partner.json');
const PartnerManager = require('./req_partner_manager');
let moment = require('moment')
let unirest = require('unirest')
let request = require('request')
let cors = require('cors')
let toXML = require('jstoxml');
// var mongoose = require('mongoose');
// mongoose.connect('mongodb://10.1.2.146:27018/test');
// var MongoClient = require('mongodb').MongoClient;
// var dburl = "mongodb://10.1.2.144:27018/test";
// MongoClient.connect(dburl, function(err, db) {
// if (err) {
// throw err;
// }
// console.log('db connected');
// db.close();
// });
const port = 3002
app.use(cors())
app.use((req, res, next) => {
console.log('incomming url: ',req.originalUrl)
next()
|
f6530acd
Nattapon W
update mockup true
|
36
37
|
})
|
50ac5707
Nattapon
initial commit
|
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
app.post('/parse', bodyParser.text('*/*'), async (req, res) => {
console.log('test', req.body)
console.log('test', req.headers)
try {
JSON.parse(req.body)
} catch (e) {
}
res.send(result)
});
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
app.post('/apiRequest', (req, res) => {
console.log(req.params.apiRequest)
console.log(req.originalUrl);
console.log(req.url)
let partnerCode = req.body.partnerCode
let configPartner = null;
if (Array.isArray(configPartnerList.partner)) {
for (let partner of configPartnerList.partner) {
if (partnerCode == partner.partnerCode) {
configPartner = partner;
break;
}
}
}
if (configPartner) {
let reqPartner = new PartnerManager(req.body, configPartner);
let apiRequest = reqPartner.requestApi()
if (apiRequest instanceof Error) {
//handle error
res.send(JSON.parse(apiRequest.message))
} else {
res.send(apiRequest)
}
} else {
res.send('unknown partner')
}
})
app.post('/ktc/point/transferPoint', (req, res) => {
console.log('/ktc/point/transferPoint', req.body)
console.log('/ktc/point/transferPoint', req.headers)
let response = {
aaa: "test",
pushRefId1: 'WsxK21',
resultData: [
{
pointId1: 'ser'
},
{
pointId1: 'ser1'
}
]
}
res.set('xx', 'test')
// res.status(200).json(response)
})
app.post('/mockOneSiamMoblieServiceSoap', (req, res) => {
console.log(req.body)
console.log(req.headers)
res.status(200).send('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tem=\"http://tempuri.org/\"><soapenv:Header/><soapenv:Body><tem:SearchCustomerResponse><tem:SearchCustomerResult><tem:CUSTOMERVIEWMODEL><tem:STATUSCODE>123</tem:STATUSCODE><tem:IDENTIFICATIONNUMBER>$value</tem:IDENTIFICATIONNUMBER><tem:GENDER>$value</tem:GENDER><tem:BIRTHDAY>$value</tem:BIRTHDAY></tem:CUSTOMERVIEWMODEL></tem:SearchCustomerResult></tem:SearchCustomerResponse></soapenv:Body></soapenv:Envelope>')
})
app.get('/get', (req, res) => {
console.log('get', req.body)
console.log('get', req.headers)
let response = {
pushRefId: '',
resultData: [
{
pointId1: 'ser'
},
{
pointId1: 'ser1'
}
]
}
// res.status(200).json(response)
});
app.get('/test', async (req, res) => {
console.log('test', req.body)
console.log('test', req.headers)
try {
let response = await doRequestFormData('http://test.us-payment.picovr.com/AISPayNotify',{ accept: 'application/json'}, {
app_id: '24e09f8038dbf1204c09090d56c872c0',
body: 'PICO-COINS12000',
buyer_pay_fee: 'Paid by user',
device_id: '90c73518a762a2d1a339d7f',
fee_type: 'THB',
mch_id: 'company_id',
nonce_str: 'SpXrgaKf4fagyF9a',
notify_type: 'PAY',
open_id: 'ZLsdZaanhHDAUkDDgRX6QfpxAj0CSx6x7BLgUt4LlpM=',
out_trade_no: '202004081609523',
pay_time: 1587527937951,
pay_type: 'AIS',
receipt_fee: '0.00',
subject: 'Purchased 12000 coins.',
terminal_type: 'IOS',
timestamp: 1587527937951,
total_fee: '0.00',
trade_no: '50609152601900018023',
trade_type: 'Download',
signature: '83387eaf92018538d5f8fd7f3a6ecd0a'
})
res.send(response)
} catch (e) {
//if doRequestFormData has error
//reject, timeout, other error
console.log('doRequestFormData', e)
res.send('error')
}
|
d03f8f59
Nattapon Wongpaet
update mock
|
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
});
function doRequestFormData(url, headers, data) {
console.log(url, headers, data)
return new Promise(function (resolve, reject) {
request.post({ url: url, headers: headers, timeout: 2000, formData: data }, function (error, res, body) {
if (!error && res.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
|
50ac5707
Nattapon
initial commit
|
178
|
});
|
d03f8f59
Nattapon Wongpaet
update mock
|
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
}
// app.post('/api/v1/mpay/billingonbehalf/reserveAndChargeVolume.json', (req, res) => {
// console.log(req.body)
// console.log(req.headers)
// let response = {
// "reserveAndChargeVolumeResponse": {
// "result": "SUCCESS",
// "resultDescription": "60713000154960518477",
// "endUserIdentifier": "66873381009",
// "networkType": "prepaid"
// }
// }
// res.status(200).json(response)
// });
app.post('/api/v1/mpay/billingonbehalf/reserveAndChargeVolume.json', function (req, res) {
// res.send({
// // reserveAndChargeVolumeResponse : {
// result: "SUCCESS",
// resultDescription: "60713000154960518477",
// endUserIdentifier: "66873381009",
// networkType: "prepaid"
// // }
|
50ac5707
Nattapon
initial commit
|
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
|
// })
})
// app.post('/api/v1/mpay/billingonbehalf/partialRefundVolume.json', (req, res) => {
// console.log(req.body)
// console.log(req.headers)
// let response = {
// "refundVolumeV2Response": {
// "result": "SUCCESS",
// "resultDescription": "60713000154960518477",
// "endUserIdentifier": "66873381009",
// "networkType": "prepaid"
// }
// }
// res.status(200).json(response)
// });
app.post('/api/v1/mpay/billingonbehalf/queryChargeTransaction.json', (req, res) => {
console.log(req.body)
console.log(req.headers)
let response = {
"result": "SUCCESS",
"resultDescription": "201805231904005310944"
}
res.status(200).json(response)
});
app.post('/api/v1/mpay/billingonbehalf/queryRefundTransaction.json', (req, res) => {
console.log(req.body)
console.log(req.headers)
let response = {
"result": "SUCCESS",
"resultDescription": "201805231904005310944"
}
res.status(200).json(response)
});
// app.use(multiparty({ uploadDir: "./img"}));
app.post('/api/shop-cdns/upload', (req, res) => {
var azure = require('azure-storage')
var multiparty = require('multiparty')
process.env.AZURE_STORAGE_ACCOUNT = 'shareallspw'
process.env.AZURE_STORAGE_ACCESS_KEY = 'TIWwkqyvlyTySRzSelOJij2jaZbKIZ/fLUST0q9TPZGNI1dQVVn1/bU4/FnEJnUpvW1fqtWYI2HmGJeD/Oo4eA=='
var blobService = azure.createBlobService();
var form = new multiparty.Form();
form.on('part', function (part) {
if (!part.filename) return;
var size = part.byteCount;
var path = 'point'
var name = moment().valueOf() + '.' + part.filename.split('.')[1];
var container = 'spw-cdn';
blobService.createBlockBlobFromStream(container, path + '/' + name, part, size, function (error, result, response) {
if (error) {
console.log(error)
// error handling
res.status(500).send('Error uploading file');
}
console.log('result', result)
console.log('response', response)
// res.send('File uploaded successfully');
let responseMessage = {
name: part.filename,
type: part.headers['content-type'],
|
9cd4db4f
Nattapon Wongpaet
update mockup
|
280
|
size: part.byteCount,
|
50ac5707
Nattapon
initial commit
|
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
|
container: '/' + path,
imageUrl: 'https://shareallspw.azureedge.net/' + path + '/' + name,
thumbnails: 'test1',
thumbnails43: 'test2',
}
console.log(responseMessage)
res.send(responseMessage)
});
});
form.parse(req);
});
var multipart = require('connect-multiparty');
const { sortedUniq, result, reject } = require('lodash');
var multipartMiddleware = multipart({ uploadDir: './img' });
app.post('/api/shop-cdns/upload2', multipartMiddleware, async (req, res) => {
console.log(req.body, req.files);
var size = req.files.file.size;
var name = moment().valueOf() + '.' + req.files.file.name.split('.')[1];
var path = 'point'
var container = 'spw-cdn';
// console.log(req.files.file.path)
var blobService = azure.createBlobService();
blobService.createBlockBlobFromLocalFile(container, path + '/' + name, req.files.file.path, (error, result, response) => {
console.log(result)
console.log(response)
console.log(error)
console.log({
name: name,
type: req.files.file.type,
size: size,
container: '/' + path,
imageUrl: 'https://shareallspw.azureedge.net/' + path + '/' + name,
thumbnails: 'test1',
thumbnails43: 'test2',
})
res.send({
name: name,
type: req.files.file.type,
size: size,
container: '/' + path,
imageUrl: 'https://shareallspw.azureedge.net/' + path + '/' + name,
thumbnails: 'test1',
thumbnails43: 'test2',
})
})
});
app.get('/scf/v2/partnerSpecificPrivateId/:privateId.json', require('./scf').decryptPrivateId);
app.post('/api/v1/gsso/sendOneTimePW.json', require('./gsso').sendOneTimePassword);
app.post('/api/v1/gsso/confirmOneTimePassword.json', require('./gsso').confirmOneTimePassword);
app.get('/ssb/profile/network/subscriber/:userId/type/:userType', require('./ssb').getProfileType);
app.post('/ssb/profile/historyPackage', require('./ssb').queryHistoryPackage);
app.post('/ssb/profile/currentPackage', require('./ssb').queryCurrentPackage);
app.post('/ssb/package/apply', require('./ssb').applyPack);
app.post('/ssb/package/subscriber', require('./ssb').deletePackage); //
app.post('/verifyReceipt', require('./apple').verifyReceipt); //
app.post('/api/v1/package/packagepayment', require('./nafa').packagePayment); //
app.post('/api/v1/package/cancelPackage', require('./nafa').cancelPackage); //
app.get('/api/v1/customer', require('./d01').getCustomer);
app.post('/api/v1/customer', require('./d01').postCustomer);
app.put('/api/v1/customer', require('./d01').putCustomer);
|
86d300a7
Nattapon W
update mockup d01
|
359
360
361
362
363
|
app.delete('/api/v1/customer', require('./d01').deleteCustomer);
app.get('/api/v1/memberlink', require('./d01').getMemberLink);
app.post('/api/v1/memberlink', require('./d01').postMemberLink);
app.put('/api/v1/memberlink', require('./d01').putMemberLink);
|
ae73fd6b
Nattapon W
update d01
|
364
365
366
367
368
|
app.delete('/api/v1/memberlink', require('./d01').deleteMemberLink);
app.get('/api/v1/address', require('./d01').getAddress);
app.post('/api/v1/address', require('./d01').postAddress);
app.put('/api/v1/address', require('./d01').putAddress);
|
50ac5707
Nattapon
initial commit
|
369
370
|
app.delete('/api/v1/address', require('./d01').deleteAddress);
|
e45082dc
Nattapon Wongpaet
update mockup
|
371
372
373
374
|
app.get('/api/v1/mastermember', require('./d01').getMasterMember);
app.post('/api/v1/mastermember', require('./d01').postMasterMember);
app.put('/api/v1/mastermember', require('./d01').putMasterMember);
app.delete('/api/v1/mastermember', require('./d01').deleteMasterMember);
|
50ac5707
Nattapon
initial commit
|
375
|
|
bc0dad7c
Nattapon Wongpaet
update d01
|
376
|
app.get('/api/v1/gender', require('./d01').getGender);
|
50ac5707
Nattapon
initial commit
|
377
|
app.post('/api/v1/gender', require('./d01').postGender);
|
70cc6838
Nattapon W
update lg
|
378
379
|
app.put('/api/v1/gender', require('./d01').putGender);
app.delete('/api/v1/gender', require('./d01').deleteGender);
|
6485aa18
Nattapon W
update api for pr...
|
380
381
|
app.get('/api/v1/address_type', require('./d01').getAddressType);
|
c8832510
Nattapon W
update mockup for...
|
382
|
app.post('/api/v1/address_type', require('./d01').postAddressType);
|
5fdd6d1b
Nattapon W
update mockup for...
|
383
|
app.put('/api/v1/address_type', require('./d01').putAddressType);
|
07502cdd
Nattapon W
update mockup true
|
384
|
app.delete('/api/v1/address_type', require('./d01').deleteAddressType);
|
f6530acd
Nattapon W
update mockup true
|
385
|
|
6485aa18
Nattapon W
update api for pr...
|
386
|
app.post('/auth/v3.1/oauth/token', require('./admd').oauthToken);
|
7fe25040
Nattapon W
update mockup true
|
387
388
|
app.post('/auth/v3.1/logout', require('./admd').logout);
app.post('/validate/token', require('./admd').validateToken);
|
16ea296b
Nattapon W
update mockup true
|
389
390
391
392
393
394
395
396
397
|
app.post('/point/v1/deleteCustomer', require('./micro_point').deleteCustomer);
app.post('/privilege/v1/history/delete', require('./privilege').deleteCustomer);
app.post('/v1/MVP/enq/getMobileOfferInventory/', require('./true').getMobileOfferInventory);
app.post('/api/v1/LG-API/notifySubscription', require('./lg').notifySubscription);
app.get('/api/callback', require('./line').callback);
|
de8f7e34
Nattapon W
update int, intx
|
398
399
400
|
app.get('/api/random/leader', function (req, res) {
const months = ["เกมส์", "โน๊ต setup", "โน๊ต วัศรุต", "แบงค์", "มอส", "ปิ๊ค", "เต้นพอไม่ต้องตื่น", "เปา", "นัท", "kik", "new", "ann","na", "boky", "eve", "miki", "pla", "sugar"];
|
16ea296b
Nattapon W
update mockup true
|
401
|
// const months = [ "ann"];
|
f6530acd
Nattapon W
update mockup true
|
402
403
404
405
|
let object={}
for(var i=0; i<100; i++) {
|
16ea296b
Nattapon W
update mockup true
|
406
|
const random = Math.floor(Math.random() * months.length);
|
9cd4db4f
Nattapon Wongpaet
update mockup
|
407
408
|
// console.log(random, months[random]);
if(object[months[random]]) {
|
ce84539c
Nattapon Wongpaet
update gen file
|
409
|
object[months[random]] = object[months[random]] + 1;
|
d530946b
Nattapon W
update mockup true
|
410
411
|
} else {
object[months[random]] = 1
|
e45082dc
Nattapon Wongpaet
update mockup
|
412
413
|
}
}
|
d530946b
Nattapon W
update mockup true
|
414
415
416
417
418
419
420
421
422
|
console.log(object);
res.send(object);
})
app.get('/api/parallel/request', async function (req, res) {
let dataList = ['001','002','003','004','005','006','007','008','009','010','011','012','013','014','015','016','017','018','019','020']
|
e45082dc
Nattapon Wongpaet
update mockup
|
423
|
|
e45082dc
Nattapon Wongpaet
update mockup
|
424
|
let response = await completelyReq(dataList)
|
e45082dc
Nattapon Wongpaet
update mockup
|
425
|
console.log('response to client', response)
|
d530946b
Nattapon W
update mockup true
|
426
|
|
ce84539c
Nattapon Wongpaet
update gen file
|
427
|
res.send(response)
|
d530946b
Nattapon W
update mockup true
|
428
|
})
|
ce84539c
Nattapon Wongpaet
update gen file
|
429
|
|
d03f8f59
Nattapon Wongpaet
update mock
|
430
|
var parallelLimit = require('run-parallel-limit')
|
9cd4db4f
Nattapon Wongpaet
update mockup
|
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
|
async function completelyReq(dataList) {
let limit = 10
let length = dataList.length > limit ? limit : dataList.length;
let tempList = []
for(let i=0; i<dataList.length; i++) {
// console.log(i)
// console.log(dataList[i])
tempList.push((cb) => {
reqFunc(dataList[i], )
});
// dataList.shift();
}
return new Promise( resolve => {
parallelLimit(tempList, 10, function (err, results) {
if(err) {console.log(err); reject(err)};
console.log(results)
resolve(results)
})
})
// return await Promise.all(tempList);
}
function reqFunc(arg, cb) {
// console.log(tempList)
console.log('send req ', arg, new Date())
unirest
.post('http://mockbin.com/request')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json'})
.send({ "parameter": 23, "foo": "bar", "seq": arg })
.then((response) => {
// console.log(response.body.postData.text)
// let delay = Math.floor(Math.random()*10000)
console.log('recieve response ' , response.body.postData.text, new Date())
cb(null, response.body.postData.text)
// setTimeout(function () {
// cb(null, response.body.postData.text)
// }, 100)
})
}
// function check(data, dataList, tempList) {
// return new Promise(async (resolve, reject) => {
// // console.log('tempList.length', tempList.length)
// if(tempList.length == 20) {
// // let allResponse = await Promise.all(tempList);
// // console.log(allResponse)
// resolve(tempList)
// } else {
// console.log(tempList)
// tempList.push(reqFunc(dataList[0], dataList, tempList))
// dataList.shift();
// }
// })
// }
app.get('/linenoti', require('./line').lineNoti)
app.listen(port, () => console.log('app listening on port ' + port + '!'))
|
ce84539c
Nattapon Wongpaet
update gen file
|
|
|
e45082dc
Nattapon Wongpaet
update mockup
|
|
|
d530946b
Nattapon W
update mockup true
|
|
|
c9bcba7e
Nattapon W
for test revert
|
|
|
80588f33
Nattapon W
update test
|
|
|