From 6a1ee3ed28e457c6c781966ac0ff769944b8220b Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Fri, 20 Mar 2026 02:34:41 -0700 Subject: [PATCH] feat: add digest_queue table to schema and dev-api startup --- dev-api.py | 16 ++++++++++++++++ scripts/db.py | 10 ++++++++++ 2 files changed, 26 insertions(+) diff --git a/dev-api.py b/dev-api.py index f30f378..0ca974e 100644 --- a/dev-api.py +++ b/dev-api.py @@ -53,6 +53,22 @@ def _strip_html(text: str | None) -> str | None: return cleaned.strip() or None +@app.on_event("startup") +def _startup(): + """Ensure digest_queue table exists (dev-api may run against an existing DB).""" + db = _get_db() + db.execute(""" + CREATE TABLE IF NOT EXISTS digest_queue ( + id INTEGER PRIMARY KEY, + job_contact_id INTEGER NOT NULL REFERENCES job_contacts(id), + created_at TEXT DEFAULT (datetime('now')), + UNIQUE(job_contact_id) + ) + """) + db.commit() + db.close() + + def _row_to_job(row) -> dict: d = dict(row) d["is_remote"] = bool(d.get("is_remote", 0)) diff --git a/scripts/db.py b/scripts/db.py index addc51f..197bb8d 100644 --- a/scripts/db.py +++ b/scripts/db.py @@ -137,6 +137,15 @@ CREATE TABLE IF NOT EXISTS survey_responses ( ); """ +CREATE_DIGEST_QUEUE = """ +CREATE TABLE IF NOT EXISTS digest_queue ( + id INTEGER PRIMARY KEY, + job_contact_id INTEGER NOT NULL REFERENCES job_contacts(id), + created_at TEXT DEFAULT (datetime('now')), + UNIQUE(job_contact_id) +) +""" + _MIGRATIONS = [ ("cover_letter", "TEXT"), ("applied_at", "TEXT"), @@ -193,6 +202,7 @@ def init_db(db_path: Path = DEFAULT_DB) -> None: conn.execute(CREATE_COMPANY_RESEARCH) conn.execute(CREATE_BACKGROUND_TASKS) conn.execute(CREATE_SURVEY_RESPONSES) + conn.execute(CREATE_DIGEST_QUEUE) conn.commit() conn.close() _migrate_db(db_path)