Push-Erinnerungen: Widget, Backend-Scheduler, Pushover-Versand jede Minute
This commit is contained in:
@@ -219,10 +219,12 @@ router.get('/push-schedules', authenticate, (req, res) => {
|
||||
router.post('/push-schedules', authenticate, (req, res) => {
|
||||
const { message, scheduled_at } = req.body;
|
||||
if (!message?.trim() || !scheduled_at) return res.status(400).json({ error: 'Nachricht und Zeitpunkt erforderlich' });
|
||||
// Normalisieren: T→Leerzeichen, Sekunden ergänzen
|
||||
const normalized = scheduled_at.replace('T',' ') + (scheduled_at.length <= 16 ? ':00' : '');
|
||||
const r = db.prepare(`
|
||||
INSERT INTO push_schedules (user_id, message, scheduled_at, created_at)
|
||||
VALUES (?, ?, ?, datetime('now','localtime'))
|
||||
`).run(uid(req), message.trim(), scheduled_at);
|
||||
`).run(uid(req), message.trim(), normalized);
|
||||
res.json(db.prepare('SELECT * FROM push_schedules WHERE id=?').get(r.lastInsertRowid));
|
||||
});
|
||||
|
||||
@@ -230,8 +232,9 @@ router.put('/push-schedules/:id', authenticate, (req, res) => {
|
||||
const row = db.prepare('SELECT * FROM push_schedules WHERE id=? AND user_id=?').get(req.params.id, uid(req));
|
||||
if (!row) return res.status(404).json({ error: 'Nicht gefunden' });
|
||||
const { message, scheduled_at } = req.body;
|
||||
const normalized = scheduled_at ? scheduled_at.replace('T',' ') + (scheduled_at.length <= 16 ? ':00' : '') : row.scheduled_at;
|
||||
db.prepare('UPDATE push_schedules SET message=?, scheduled_at=?, sent=0 WHERE id=?')
|
||||
.run(message ?? row.message, scheduled_at ?? row.scheduled_at, row.id);
|
||||
.run(message ?? row.message, normalized, row.id);
|
||||
res.json(db.prepare('SELECT * FROM push_schedules WHERE id=?').get(row.id));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user