feat: zentrales Pushover-Logging + neuer Admin-Tab Logs
This commit is contained in:
@@ -1,14 +1,17 @@
|
||||
const express = require('express');
|
||||
const db = require('../../db');
|
||||
const { logPush } = require('../../pushLog');
|
||||
const { authenticate } = require('../../middleware/auth');
|
||||
const router = express.Router();
|
||||
|
||||
// ── Pushover Helper ───────────────────────────────────────────────────────────
|
||||
async function sendPushover(userKey, appToken, title, message, opts = {}) {
|
||||
async function sendPushover(userKey, appToken, title, message, opts = {}, userId = null) {
|
||||
let priority = 0;
|
||||
try {
|
||||
const params = { token: appToken, user: userKey, title, message };
|
||||
if (opts.retry && opts.expire) {
|
||||
params.priority = 2;
|
||||
priority = 2;
|
||||
params.retry = opts.retry;
|
||||
params.expire = opts.expire;
|
||||
}
|
||||
@@ -17,7 +20,10 @@ async function sendPushover(userKey, appToken, title, message, opts = {}) {
|
||||
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||
body: new URLSearchParams(params),
|
||||
});
|
||||
} catch {}
|
||||
logPush({ userId, title, message, priority, source: 'nachrichten' });
|
||||
} catch {
|
||||
logPush({ userId, title, message, priority, source: 'nachrichten', success: false });
|
||||
}
|
||||
}
|
||||
|
||||
// ── Public Keys ───────────────────────────────────────────────────────────────
|
||||
@@ -137,7 +143,7 @@ router.post('/messages/:userId', authenticate, async (req, res) => {
|
||||
`).get(recipId);
|
||||
if (!presence) {
|
||||
await sendPushover(pushover.user_key, pushover.app_token, 'DickenDock', `Neue Nachricht von ${senderName}`,
|
||||
{ retry: pushover.retry, expire: pushover.expire });
|
||||
{ retry: pushover.retry, expire: pushover.expire }, recipId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,7 +209,7 @@ router.post('/pushover/test', authenticate, async (req, res) => {
|
||||
? `🚨 Emergency-Test! Wiederholt alle ${row.retry}s für max. ${row.expire}s. Bitte in Pushover quittieren.`
|
||||
: 'Pushover-Verbindung erfolgreich! 🎉';
|
||||
await sendPushover(row.user_key, row.app_token, 'DickenDock', msg,
|
||||
useEmergency ? { retry: row.retry, expire: row.expire } : {});
|
||||
useEmergency ? { retry: row.retry, expire: row.expire } : {}, req.user.id);
|
||||
res.json({ ok: true });
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user