From b718439c549f58ad173904cb3a41a39d4be26c77 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Fri, 20 Mar 2026 06:54:50 -0700 Subject: [PATCH] fix: guard db.close() in add_to_digest_queue with try/finally --- dev-api.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/dev-api.py b/dev-api.py index ad99278..f37e73a 100644 --- a/dev-api.py +++ b/dev-api.py @@ -483,19 +483,20 @@ def list_digest_queue(): @app.post("/api/digest-queue") def add_to_digest_queue(body: DigestQueueBody): db = _get_db() - exists = db.execute( - "SELECT 1 FROM job_contacts WHERE id = ?", (body.job_contact_id,) - ).fetchone() - if not exists: + try: + exists = db.execute( + "SELECT 1 FROM job_contacts WHERE id = ?", (body.job_contact_id,) + ).fetchone() + if not exists: + raise HTTPException(404, "job_contact_id not found") + result = db.execute( + "INSERT OR IGNORE INTO digest_queue (job_contact_id) VALUES (?)", + (body.job_contact_id,), + ) + db.commit() + created = result.rowcount > 0 + finally: db.close() - raise HTTPException(404, "job_contact_id not found") - result = db.execute( - "INSERT OR IGNORE INTO digest_queue (job_contact_id) VALUES (?)", - (body.job_contact_id,), - ) - db.commit() - created = result.rowcount > 0 - db.close() return {"ok": True, "created": created}