const express = require('express'); const router = express.Router(); const facade = require('../lib/facade'); function logRequestWarning(req, message) { console.warn(`[${req.ip}] ${message}`); } router.post('/notification', async (req, res) => { if (req.headers.authorization !== 'Bearer ' + global.config.authToken) { logRequestWarning(req, 'Missing or invalid authorization header'); res.sendStatus(401); return; } if (!req.body || !req.body.subject || !req.body.message) { logRequestWarning(req, 'Missing body, subject and/or message parameters'); res.sendStatus(400); return; } await facade.postNotification(req.body.subject, req.body.message, req.body.priority || 0); res.sendStatus(200); }); router.post('/notification/reset', async (req, res) => { if (!req.body || !req.body.token) { logRequestWarning(req, 'Missing token'); res.sendStatus(400); return; } await facade.resetNotification(req.body.token); res.sendStatus(200); }); module.exports = router;