fix: xREL Cache-Logik sauber – Suchen lädt frisch, Reload zeigt Cache, Aktualisieren refresht

This commit is contained in:
2026-06-11 02:30:04 +02:00
parent c677e04dc6
commit 6101bc2221
2 changed files with 16 additions and 13 deletions

View File

@@ -250,16 +250,17 @@ router.get('/movie/:id/xrel', authenticate, async (req, res) => {
const cacheKey = `xrel:tmdb:${req.params.id}`;
const forceRefresh = req.query.refresh === '1';
// Cache-Verhalten:
// - Befüllte Einträge: immer sofort zurückgeben (auch bei refresh=1)
// - Leere Einträge: ignorieren, frisch suchen
const cached = cacheGet(cacheKey);
if (cached !== undefined && cached.length > 0) {
return res.json({ xrel: cached, has_xrel: true });
}
// Bei refresh=1: leeren Cache-Eintrag löschen damit neu gesucht wird
if (forceRefresh) {
// Aktualisieren: Cache löschen und frisch von xREL laden
db.prepare('DELETE FROM xrel_cache WHERE cache_key=?').run(cacheKey);
} else {
// Normaler Aufruf: befüllten Cache zurückgeben, bei leerem → nichts zurückgeben
const cached = cacheGet(cacheKey);
if (cached !== undefined) {
return res.json({ xrel: cached, has_xrel: cached.length > 0 });
}
// Kein Cache: auch kein xREL-Call, nur leeres Ergebnis
return res.json({ xrel: [], has_xrel: false });
}
// Titel + IMDb-ID aus Query-Params wenn vorhanden (spart 2 TMDb-Calls)