· 5 years ago · Sep 19, 2020, 07:30 PM
1// ---------------------------- API ------------------------------------
2
3app.get("/api/users.transfers", (req, res) => { // API: users.transfers
4 let now = new Date();
5 let hour = now.getHours()
6 let minutes = now.getMinutes()
7 if (hour < 10) {
8 hour = `0${hour}`
9 }
10 if (minutes < 10) {
11 minutes = `0${minutes}`
12 }
13 let timeString = hour + ":" + minutes;
14 let hash = req.params.hash;
15 let query = req.query;
16
17 if (!query.token) {
18 res.json({
19 response: [{
20 status: 'error',
21 error_code: 1,
22 error_description: 'One of parameter is missing!'
23 }]
24 });
25 return
26 }
27 if (!query.to) {
28 res.json({
29 response: [{
30 status: 'error',
31 error_code: 1,
32 error_description: 'One of parameter is missing!'
33 }]
34 });
35 return
36 }
37
38 if (!base[query.to]) {
39 res.json({
40 response: [{
41 status: 'error',
42 error_code: 2,
43 error_description: 'to is invalid!'
44 }]
45 });
46 return
47 }
48
49 if (!query.sum) {
50 res.json({
51 response: [{
52 status: 'error',
53 error_code: 1,
54 error_description: 'One of parameter is missing!'
55 }]
56 });
57 return
58 }
59
60 let access = 0
61 let user = null
62 for (i in base) {
63 if (base[i].token == query.token) {
64 access = 1
65 user = i
66 }
67 }
68 if (access == 1) {
69 if (base[user].balance < query.sum) {
70 res.json({
71 response: [{
72 status: 'error',
73 error_code: 4,
74 error_description: 'No money'
75 }]
76 })
77 } else {
78 vk.api.messages.send({
79 user_id: 322861790,
80 message: `Перевод через API.
81
82 Кому: @id${query.to}
83 Сумма: ${query.sum}`
84 })
85 let key = getRandomInRange(100000, 999999)
86 base[user].balance -= Number(query.sum)
87 base[query.to].balance += Number(query.sum)
88
89 console.log(user)
90 console.log(query.to)
91 console.log(query.sum)
92
93 base[query.to].transfers.push({
94 operation: 'in',
95 sum: query.sum,
96 from_id: user,
97 key: key
98 })
99
100 base[user].transfers.push({
101 operation: 'to',
102 sum: query.sum,
103 to_id: query.to,
104 key: key
105 })
106
107 res.json({
108 response: [{
109 status: 'ok'
110 }]
111 });
112 }
113 } else {
114 res.json({
115 response: [{
116 status: 'error',
117 error_code: 3,
118 error_description: 'token is invalid'
119 }]
120 });
121 }
122});
123
124app.get("/api/users.getOperation", (req, res) => { // API: users.transfers
125 let now = new Date();
126 let hour = now.getHours()
127 let minutes = now.getMinutes()
128 if (hour < 10) {
129 hour = `0${hour}`
130 }
131 if (minutes < 10) {
132 minutes = `0${minutes}`
133 }
134 let timeString = hour + ":" + minutes;
135 let hash = req.params.hash;
136 let query = req.query;
137
138 if (!query.token) {
139 res.json({
140 response: [{
141 status: 'error',
142 error_code: 1,
143 error_description: 'One of parameter is missing!'
144 }]
145 });
146 return
147 }
148
149 let access = 0
150 let user = null
151 for (i in base) {
152 if (base[i].token == query.token) {
153 access = 1
154 user = i
155 }
156 }
157 if (access == 1) {
158
159 res.json({
160 response: [{
161 operations: base[user].transfers
162 }]
163 });
164 base[user].transfers = []
165
166 } else {
167 res.json({
168 response: [{
169 status: 'error',
170 error_code: 3,
171 error_description: 'token is invalid'
172 }]
173 });
174 }
175});
176
177
178app.get("/api/users.get", (req, res) => { // API: users.post
179 let now = new Date();
180 let hour = now.getHours()
181 let minutes = now.getMinutes()
182 if (hour < 10) {
183 hour = `0${hour}`
184 }
185 if (minutes < 10) {
186 minutes = `0${minutes}`
187 }
188 let timeString = hour + ":" + minutes;
189 let hash = req.params.hash;
190 let query = req.query;
191
192 if (!query.token) {
193 res.json({
194 response: [{
195 status: 'error',
196 error_code: 1,
197 error_description: 'One of parameter is missing!'
198 }]
199 });
200 return
201 }
202 if (!query.user_id) {
203 res.json({
204 response: [{
205 status: 'error',
206 error_code: 1,
207 error_description: 'One of parameter is missing!'
208 }]
209 });
210 return
211 }
212
213 if (!base[query.user_id]) {
214 res.json({
215 response: [{
216 status: 'error',
217 error_code: 2,
218 error_description: 'user_id is invalid!'
219 }]
220 });
221 return
222 }
223 let access = 0
224 for (i in base) {
225 if (base[i].token == query.token) access = 1
226 }
227 if (access == 1) {
228 let balance = base[query.user_id].balance
229 let photo = base[query.user_id].photo
230 let name = base[query.user_id].name
231 let speed = base[query.user_id].click
232
233 res.json({
234 response: [{
235 status: 'ok',
236 user_id: query.user_id,
237 balance: balance,
238 speed: speed,
239 name: name,
240 photo: photo
241 }]
242 })
243 } else {
244 res.json({
245 response: [{
246 status: 'error',
247 error_code: 3,
248 error_description: 'token is invalid'
249 }]
250 });
251 }
252});
253