05/23 Phase 11

This commit is contained in:
2026-05-23 12:31:20 -04:00
parent f8c11b8979
commit 78e88ae8ab
5 changed files with 412 additions and 27 deletions
+35
View File
@@ -356,6 +356,41 @@ def get_predictions(game_id=None, limit=50):
conn.close()
def delete_prediction(pred_id: int):
"""Delete a single saved prediction by id."""
conn = get_connection()
try:
cursor = conn.cursor()
cursor.execute("DELETE FROM predictions WHERE id = ?", (pred_id,))
conn.commit()
logger.info("[PREDICT] Deleted prediction id=%d", pred_id)
except Exception as e:
conn.rollback()
logger.error("[ERROR] delete_prediction failed: %s", e, exc_info=True)
raise
finally:
conn.close()
def delete_all_predictions(game_id=None):
"""Delete all saved predictions, optionally filtered by game."""
conn = get_connection()
try:
cursor = conn.cursor()
if game_id is not None:
cursor.execute("DELETE FROM predictions WHERE game_id = ?", (game_id,))
else:
cursor.execute("DELETE FROM predictions")
conn.commit()
logger.info("[PREDICT] Cleared all predictions (game_id=%s)", game_id)
except Exception as e:
conn.rollback()
logger.error("[ERROR] delete_all_predictions failed: %s", e, exc_info=True)
raise
finally:
conn.close()
# ══════════════════════════════════════════════════════════════════════════════
# FETCH LOG
# ══════════════════════════════════════════════════════════════════════════════