From de494ec464e11ccf2adba5b449d22abea2c5e078 Mon Sep 17 00:00:00 2001 From: norohind <60548839+norohind@users.noreply.github.com> Date: Thu, 28 Aug 2025 22:23:48 +0000 Subject: [PATCH] Fix FDEV returning squads with ID we didn't request --- FAPI/__init__.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/FAPI/__init__.py b/FAPI/__init__.py index 33855b6..3bba13a 100644 --- a/FAPI/__init__.py +++ b/FAPI/__init__.py @@ -1,6 +1,7 @@ from . import Queries import DB import HookSystem +from loguru import logger hook_system = HookSystem.HookSystem() @@ -25,7 +26,17 @@ def update_squad(squad_id: int, suppress_absence=False) -> None | int: news_info = None # Queries.get_squad_news(squad_id) # since Vanguards update NEWS_ENDPOINT always returns 500 b'{"status":500,"message":"Internal Server Error","tag":"bbbdpzgnssvbp"}' - operation_id = DB.insert_info_news(news_info, squad_info) - hook_system.notify_inserted(operation_id) + squad_id_received = squad_info['squad_id'] + if squad_id_received != squad_id: + # A particular case is 90188 which returns 99719 in response + # Querying 99719 directly, returns 99719 + logger.warning(f"squad id mismatch: requested {squad_id}, got {squad_id_received}. Treating as deleted: {not suppress_absence}") + if not suppress_absence: + operation_id = DB.delete_squadron(squad_id) + # TODO: Fire notify_deleted, perhaps? + + else: + operation_id = DB.insert_info_news(news_info, squad_info) + hook_system.notify_inserted(operation_id) return operation_id