fix: xREL Cache-Logik sauber – Suchen lädt frisch, Reload zeigt Cache, Aktualisieren refresht
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user