-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
executable file
·70 lines (60 loc) · 2.56 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
const express = require('express');
const fieldsFromTildaValidator = require('./utils/fields-from-tilda-validator');
const app = express();
// eslint-disable-next-line import/order
const bodyParser = require('body-parser');
const editFieldsFunction = require('./utils/EditFieldsFn/edit-fields-function');
const PORT = process.env.PORT || 3000;
const logs = require('./log/log');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
const dataArr = []; // Данные с тильды
const orderUrlArr = []; // Ссылки из хуков для контроля дублей
const dataUserPhoneArr = []; // Данные с номерами из МС, для ожидания данных с Тильда
// ---------------------------------
// Хук с Мой Склад
app.post('/hook', async (req, res) => {
try {
logs('', 'Пришли данные с МС', true);
const orderUrl = req.body.events[0].meta.href; // Ссылка на заказа
if (orderUrlArr.indexOf(orderUrl) === -1 && dataArr.length > 0) {
orderUrlArr.push(orderUrl);
// Запуск функции изменений полей
await editFieldsFunction(orderUrl, dataArr, orderUrlArr, dataUserPhoneArr);
}
res.json('ok');
} catch (e) {
console.log(e);
}
});
// Get order data with Tilda
app.post('/get_form', async (req, res) => {
try {
logs(req.body, 'Пришли данные с Тильда', true);
const phone = req.body.phone || req.body.Phone;
if (req.body.name) {
dataArr.push({ ...fieldsFromTildaValidator(req) });
}
console.log('Теперь массив с данными от Тильда');
console.log(dataArr);
const phoneIndex = dataUserPhoneArr.findIndex((el) => el.phone === phone);
if (phoneIndex !== -1) {
logs('', 'Запуск функции изменения данных ------------->');
await editFieldsFunction(dataUserPhoneArr[phoneIndex].data, dataArr,
orderUrlArr, dataUserPhoneArr);
logs('', 'Функция отработала ------------->');
}
res.json({ test: 'test' });
} catch (e) {
console.log(e);
res.status(500).json({ message: 'Ошибка сервера' });
}
});
// app.put('/get_form', (req, res) => {
// console.log(req.body)
// console.log('ok')
// res.json({message: 'ok'})
// })
app.listen(PORT, () => {
console.log(`Вишу на порту ${PORT} !!!`);
});