Fire automation events across API routers
FlowDeck CI / lint (push) Failing after 1m12s
FlowDeck CI / test (push) Failing after 3h3m3s
FlowDeck CI / docker (push) Skipped

This commit is contained in:
2026-09-21 20:30:05 -04:00
parent 189ed5bbca
commit e0237e576f
8 changed files with 202 additions and 2 deletions
+20
View File
@@ -978,6 +978,10 @@ async def add_favorite(request: Request, page_id: int):
(uid, page_id, pos),
)
conn.commit()
try:
await fire_event("favorite.added", {"page_id": page_id, "user_id": uid})
except Exception:
pass
return {"status": "added", "page_id": page_id}
@@ -989,6 +993,10 @@ async def remove_favorite(request: Request, page_id: int):
with get_conn() as conn:
conn.execute("DELETE FROM favorites WHERE user_id=? AND page_id=?", (uid, page_id))
conn.commit()
try:
await fire_event("favorite.removed", {"page_id": page_id, "user_id": uid})
except Exception:
pass
return {"status": "removed", "page_id": page_id}
# ═══════════ Share API ═══════════
@@ -1020,6 +1028,10 @@ async def publish_page(request: Request, page_id: int):
)
conn.commit()
row = conn.execute("SELECT title FROM pages WHERE id=?", (page_id,)).fetchone()
try:
await fire_event("page.published", {"page_id": page_id, "slug": slug})
except Exception:
pass
return {"is_published": True, "publish_slug": slug, "title": row["title"] if row else ""}
@@ -1032,6 +1044,10 @@ async def unpublish_page(request: Request, page_id: int):
(page_id,),
)
conn.commit()
try:
await fire_event("page.unpublished", {"page_id": page_id})
except Exception:
pass
return {"is_published": False}
@@ -1049,6 +1065,10 @@ async def restore_page(request: Request, page_id: int):
with get_conn() as conn:
conn.execute("UPDATE pages SET deleted_at=NULL WHERE id=?", (page_id,))
conn.commit()
try:
await fire_event("page.restored", {"page_id": page_id})
except Exception:
pass
return {"status": "ok", "restored": page_id}