diff --git a/package-lock.json b/package-lock.json index 809a636..3b0ce14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "axios": "^1.3.6", "express": "^4.18.2", "fs": "^0.0.1-security", "https": "^1.0.0", @@ -290,6 +291,29 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, + "node_modules/axios": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/base64-arraybuffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", @@ -1010,6 +1034,25 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -3106,6 +3149,28 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, + "axios": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "base64-arraybuffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", @@ -3672,6 +3737,11 @@ } } }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", diff --git a/package.json b/package.json index ca2e527..396d556 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "author": "", "license": "ISC", "dependencies": { + "axios": "^1.3.6", "express": "^4.18.2", "fs": "^0.0.1-security", "https": "^1.0.0", diff --git a/src/index.js b/src/index.js index 4a959b5..0f70a3b 100644 --- a/src/index.js +++ b/src/index.js @@ -6,6 +6,7 @@ import express from 'express'; import Joi from 'joi'; import TelegramBot from 'node-telegram-bot-api'; import https from 'https'; +import axios from "axios"; const Logo = fs.readFileSync("./assets/Logo_fwaur.png", { encoding: "latin1" }); const config = JSON.parse(fs.readFileSync("./config.json", "utf8")); @@ -174,30 +175,32 @@ const app = express(); app.use(express.json()); -app.post('/depesche', async (req, res) => { - if (config.debug) { - fs.writeFileSync(cacheFolder + req.body.foreign_id + "_body.json", JSON.stringify(req.body)) - } - +app.get('/depesche', async (req, res) => { console.log("[INFO] Received print request"); - if (req.body.foreign_id == "") { - req.body.foreign_id = "undefined" - } - let value = {} try { - value = await schema.validateAsync(req.body, { allowUnknown: true }); - } - catch (err) { - console.log("[ERROR]", err); + await axios.get("https://app.divera247.com/api/v2/alarms?accesskey=qX1RZwmThqB0mFDkd_Bx7CNja6eHvoSCRjyb4RyGBZ40afdai6lWXbH_1YvbB5Uy") + .then((res) => { + if (config.debug) { + fs.writeFileSync(cacheFolder + "data.json", JSON.stringify(res.data)) + } + console.log(res.data) + value = res.data.data.items[res.data.data.sorting[0]] + }) + + } catch (error) { if (config.activate_telegram) { - sendMessage("[ERROR] Validation Error (Drucker Service): " + err, messageIDs) + sendMessage("[ERROR] Divera data error(Drucker Service): " + error, messageIDs) } - return res.status(403).send(err); + return res.status(500).send(error); + } + if (value == {}) { + if (config.activate_telegram) { + sendMessage("[ERROR] No Value Data from Divera (Drucker Service): ", messageIDs) + } + return res.status(500).send("No Data"); } - - await main(value).catch( (err) => {