feat: zentrales Pushover-Logging + neuer Admin-Tab Logs
This commit is contained in:
@@ -2,6 +2,7 @@ const express = require('express');
|
||||
const https = require('https');
|
||||
const db = require('../../db');
|
||||
const mqttClient = require('../../mqtt');
|
||||
const { logPush } = require('../../pushLog');
|
||||
const { authenticate } = require('../../middleware/auth');
|
||||
const router = express.Router();
|
||||
|
||||
@@ -430,14 +431,15 @@ function formatOfferMessage(offers) {
|
||||
async function sendKoepiPushover(offers, onlyUserId = null) {
|
||||
const recipients = onlyUserId
|
||||
? db.prepare(`
|
||||
SELECT user_key, app_token FROM pushover_settings
|
||||
SELECT user_id, user_key, app_token FROM pushover_settings
|
||||
WHERE user_id = ? AND user_key IS NOT NULL AND app_token IS NOT NULL
|
||||
`).all(onlyUserId)
|
||||
: db.prepare(`
|
||||
SELECT user_key, app_token FROM pushover_settings
|
||||
SELECT user_id, user_key, app_token FROM pushover_settings
|
||||
WHERE user_key IS NOT NULL AND app_token IS NOT NULL
|
||||
`).all();
|
||||
const message = formatOfferMessage(offers);
|
||||
const title = '🍺 KöPi Angebote';
|
||||
for (const r of recipients) {
|
||||
try {
|
||||
await fetch('https://api.pushover.net/1/messages.json', {
|
||||
@@ -446,12 +448,16 @@ async function sendKoepiPushover(offers, onlyUserId = null) {
|
||||
body: new URLSearchParams({
|
||||
token: r.app_token,
|
||||
user: r.user_key,
|
||||
title: '🍺 KöPi Angebote',
|
||||
title,
|
||||
message,
|
||||
priority: 0,
|
||||
}),
|
||||
});
|
||||
} catch (e) { console.error('KöPi Pushover Fehler:', e.message); }
|
||||
logPush({ userId: r.user_id, title, message, priority: 0, source: 'koepi' });
|
||||
} catch (e) {
|
||||
console.error('KöPi Pushover Fehler:', e.message);
|
||||
logPush({ userId: r.user_id, title, message, priority: 0, source: 'koepi', success: false });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user