mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-12 01:37:40 +02:00
fix(meteo): afficher la réponse de l'API même si son enregistrement échoue
La température de l'an dernier disparaissait alors que Visual Crossing répondait correctement (tableau de bord : requêtes réussies, 0 échec, et l'URL d'historique testée dans le navigateur renvoie bien la journée). Quand l'enregistrement de la réponse en cache échouait (par exemple une contrainte d'unicité sur la date déjà occupée par la météo relevée ce jour-là l'an dernier), la route relisait le cache, n'y trouvait rien et jetait la donnée reçue : previousYear restait à null et l'API était réinterrogée à chaque affichage. La route garde désormais la réponse de l'API pour l'affichage quand l'enregistrement échoue (année en cours et année précédente), et journalise une réponse d'historique vide. Reproduit sur un Postgres local avec une contrainte UNIQUE (date, location) et une API simulée renvoyant la réponse réelle : N-1 vide avant, 14,1° après ; sans contrainte, le comportement est inchangé. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MsDJjQrAggcJwbbBtKhgyb
This commit is contained in:
1 file changed
+8
-4
+8
-4
@@ -5443,8 +5443,9 @@ RÉSUMÉ DU SCAN
|
||||
console.log("✅ [CACHE] Current year data saved to cache");
|
||||
} catch (error: any) {
|
||||
console.warn("⚠️ [CACHE] Could not save current year data (may already exist):", error.message);
|
||||
// Récupérer les données existantes au lieu de créer
|
||||
currentYearData = await storage.getWeatherData(today, true);
|
||||
// Récupérer les données existantes au lieu de créer ; à défaut,
|
||||
// afficher quand même la réponse de l'API
|
||||
currentYearData = (await storage.getWeatherData(today, true)) ?? (weatherData as any);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5462,9 +5463,12 @@ RÉSUMÉ DU SCAN
|
||||
console.log("✅ [CACHE] Previous year data saved to cache");
|
||||
} catch (error: any) {
|
||||
console.warn("⚠️ [CACHE] Could not save previous year data (may already exist):", error.message);
|
||||
// Récupérer les données existantes au lieu de créer
|
||||
previousYearData = await storage.getWeatherData(previousYearDate, false);
|
||||
// Récupérer les données existantes au lieu de créer ; à défaut,
|
||||
// afficher quand même la réponse de l'API plutôt que de la perdre
|
||||
previousYearData = (await storage.getWeatherData(previousYearDate, false)) ?? (weatherData as any);
|
||||
}
|
||||
} else {
|
||||
console.warn(`⚠️ [HISTORY] Empty historical response for ${previousYearDate}`);
|
||||
}
|
||||
} else {
|
||||
console.warn("⚠️ [HISTORY] Could not fetch historical data - continuing with current year only");
|
||||
|
||||
Reference in new issue
Block a user