update
This commit is contained in:
@@ -24,6 +24,13 @@ CREATE TABLE IF NOT EXISTS guide_progress (
|
||||
)
|
||||
"""
|
||||
|
||||
CREATE_TOPICS = """
|
||||
CREATE TABLE IF NOT EXISTS topics (
|
||||
name TEXT PRIMARY KEY,
|
||||
created_at TEXT NOT NULL
|
||||
)
|
||||
"""
|
||||
|
||||
_db: aiosqlite.Connection | None = None
|
||||
|
||||
|
||||
@@ -39,6 +46,7 @@ async def init_db():
|
||||
db = await get_db()
|
||||
await db.execute(CREATE_GUIDES)
|
||||
await db.execute(CREATE_PROGRESS)
|
||||
await db.execute(CREATE_TOPICS)
|
||||
await db.execute(
|
||||
"UPDATE guides SET status = 'error', progress = NULL, error_msg = 'Server-Neustart' "
|
||||
"WHERE status IN ('queued', 'generating')"
|
||||
@@ -100,6 +108,31 @@ async def delete_guide(guide_id: str) -> bool:
|
||||
return cursor.rowcount > 0
|
||||
|
||||
|
||||
# --- Themen ---
|
||||
|
||||
async def create_topic(name: str) -> None:
|
||||
from datetime import datetime, timezone
|
||||
db = await get_db()
|
||||
await db.execute(
|
||||
"INSERT OR IGNORE INTO topics (name, created_at) VALUES (?, ?)",
|
||||
(name, datetime.now(timezone.utc).isoformat()),
|
||||
)
|
||||
await db.commit()
|
||||
|
||||
|
||||
async def list_topics() -> list[str]:
|
||||
db = await get_db()
|
||||
cursor = await db.execute("SELECT name FROM topics ORDER BY created_at DESC")
|
||||
rows = await cursor.fetchall()
|
||||
return [row[0] for row in rows]
|
||||
|
||||
|
||||
async def delete_topic(name: str) -> None:
|
||||
db = await get_db()
|
||||
await db.execute("DELETE FROM topics WHERE name = ?", (name,))
|
||||
await db.commit()
|
||||
|
||||
|
||||
# --- Kapitel-Fortschritt ---
|
||||
|
||||
async def list_progress(guide_id: str) -> list[str]:
|
||||
|
||||
Reference in New Issue
Block a user