-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
120 lines (103 loc) · 5.69 KB
/
server.js
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
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
const express = require('express');
const path = require('path');
const request = require('request');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json());
// env varibles
//
// const baseUrl = 'https://sandbox.vend2earn.com/api/v1';
const baseUrl = 'https://app.vend2earn.com/api/v1';
// Setup for deploy to herouku
app.use(express.static(path.join(__dirname, 'dist')));
app.get('/', (req, res) => res.sendFile(path.join(__dirname, 'dist', 'index.html')));
// Account
app.post('/api/accNew', (req, res) => makeRequest(req, res, 'post', '/accNew'));
app.post('/api/login', (req, res) => makeRequest(req, res, 'post', '/login'));
app.post('/api/accPinReset', (req, res) => makeRequest(req, res, 'post', '/accPinReset'));
app.get('/api/accInfo', (req, res) => makeRequest(req, res, 'get', '/accInfo'));
app.get('/api/accList', (req, res) => makeRequest(req, res, 'get', '/accList'));
app.put('/api/accDeviceId', (req, res) => makeRequest(req, res, 'put', '/accDeviceId'));
app.put('/api/accPinUpdate', (req, res) => makeRequest(req, res, 'put', '/accPinUpdate'));
// Payment
app.post('/api/payCardDel', (req, res) => makeRequest(req, res, 'post', '/payCardDel'));
app.post('/api/payCardVal', (req, res) => makeRequest(req, res, 'post', '/payCardVal'));
app.post('/api/paystack_test', (req, res) => makeRequest(req, res, 'post', '/paystack_test'));
app.post('/api/payCard', (req, res) => makeRequest(req, res, 'post', '/payCard'));
app.post('/api/payCardOld', (req, res) => makeRequest(req, res, 'post', '/payCardOld'));
app.get('/api/payCardList', (req, res) => makeRequest(req, res, 'get', '/payCardList'));
app.get('/api/payBank', (req, res) => makeRequest(req, res, 'get', '/payBank'));
app.get('/api/paystackResp', (req, res) => makeRequest(req, res, 'get', `/paystackResp?trx_ref=${req.query.trx_ref}`));
app.get('/api/paystackFees', (req, res) => makeRequest(req, res, 'get', `/paystackFees?amount=${req.query.amount}`));
app.get('/api/paystack', (req, res) => makeRequest(req, res, 'get', '/paystack'));
// Wallets
app.post('/api/agentTopup', (req, res) => makeRequest(req, res, 'post', '/agentTopup'));
app.post('/api/verifyAgent', (req, res) => makeRequest(req, res, 'post', '/verifyAgent'));
app.get('/api/walletBal', (req, res) => makeRequest(req, res, 'get', '/walletBal'));
app.get('/api/vendTrxHistory', (req, res) =>
makeRequest(req, res, 'get', `/vendTrxHistory?start=${req.query.start}&end=${req.query.end}`)
);
app.get('/api/prodPoints', (req, res) =>
makeRequest(req, res, 'get', `/prodPoints?start=${req.query.start}&end=${req.query.end}`)
);
app.get('/api/walletTrxHistory', (req, res) =>
makeRequest(req, res, 'get', `/walletTrxHistory?start=${req.query.start}&end=${req.query.end}`)
);
app.get('/api/walletReport', (req, res) => makeRequest(req, res, 'get', '/walletReport'));
app.post('/api/walletTopup', (req, res) => makeRequest(req, res, 'post', '/walletTopup'));
//Vending
app.post('/api/supportNew', (req, res) => makeRequest(req, res, 'post', '/supportNew'));
app.post('/api/vendValidate', (req, res) => makeRequest(req, res, 'post', '/vendValidate'));
app.post('/api/vendVerify', (req, res) => makeRequest(req, res, 'post', '/vendVerify'));
app.post('/api/vend', (req, res) => makeRequest(req, res, 'post', '/vend'));
app.post('/api/vendReplay', (req, res) => makeRequest(req, res, 'post', '/vendReplay'));
app.get('/api/vendLastReq', (req, res) => makeRequest(req, res, 'get', '/vendLastReq'));
app.get('/api/salesReport', (req, res) => makeRequest(req, res, 'get', '/salesReport'));
// Tickets
app.get('/api/notifications', (req, res) => makeRequest(req, res, 'get', '/notifications'));
app.get('/api/supportList', (req, res) => makeRequest(req, res, 'get', '/supportList'));
app.get('/api/supportView', (req, res) => makeRequest(req, res, 'get', `/supportView?${req.query.ticketID}`));
app.get('/api/supportFaq', (req, res) => makeRequest(req, res, 'get', `/supportFaq?limit=${req.query.limit}`));
// Products
app.get('/api/categories', (req, res) => makeRequest(req, res, 'get', '/categories'));
app.get('/api/categoriesBrand', (req, res) =>
makeRequest(req, res, 'get', `/categoriesBrand?catId=${req.query.catId}`)
);
app.get('/api/products', (req, res) =>
makeRequest(req, res, 'get', `/products?brandId=${req.query.brandId}&catID=${req.query.catID}`)
);
app.get('/api/suggest', (req, res) =>
makeRequest(req, res, 'get', `/suggest?brandId=${req.query.brandId}&catId=${req.query.catId}`)
);
function makeRequest(req, res, method, url) {
console.log('\n\nrequest url >>> ', baseUrl, url);
console.log('\n\nrequest body >>> ', req.body);
console.log('\n\nrequest params >>> ', req.query);
console.log('\n\nrequest headers >>> ', req.headers.authorization);
const opts = {};
let token = '';
if (req.headers && req.headers.authorization) {
token = req.headers.authorization.split(' ')[1];
}
if (req.body) {
opts.json = req.body;
}
if (token) {
opts.auth = { bearer: token };
}
console.log('\n\nrequest opts >>> ', opts);
request[method](`${baseUrl}${url}`, opts, (error, response, body) => {
if (!error && response.statusCode == 200) {
res.send(body);
console.log('success >>> ', error, response ? response.body : '', body);
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
} else {
res.status(400).send(error);
console.log('success >>> ', error, response ? response.body : '', body);
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
}
});
}
const port = process.env.PORT || 8080;
app.listen(port, () => console.log(`Listening on port ${port}`));