Feature: KI-Jahresberichte speichern + Archiv + Download — SW by-v505, APP_VER 482
This commit is contained in:
parent
b4de0aa27c
commit
9832cd24d8
6 changed files with 146 additions and 17 deletions
|
|
@ -462,7 +462,45 @@ Zeitraum: letzte 2 Jahre (bis {date.today().isoformat()})
|
|||
requires_premium=False,
|
||||
user_id=user["id"],
|
||||
)
|
||||
return {"text": text}
|
||||
except Exception as e:
|
||||
logger.warning(f"KI nicht verfügbar: {e}")
|
||||
return {"text": _FALLBACK}
|
||||
text = _FALLBACK
|
||||
|
||||
# Bericht speichern
|
||||
jahr = date.today().year
|
||||
with db() as conn:
|
||||
bp2 = conn.execute("SELECT id FROM breeder_profiles WHERE user_id=?", (user["id"],)).fetchone()
|
||||
if bp2:
|
||||
conn.execute(
|
||||
"INSERT INTO breeder_jahresberichte (user_id, breeder_id, jahr, text) VALUES (?,?,?,?)",
|
||||
(user["id"], bp2["id"], jahr, text)
|
||||
)
|
||||
saved_id = conn.execute("SELECT last_insert_rowid()").fetchone()[0]
|
||||
else:
|
||||
saved_id = None
|
||||
|
||||
return {"text": text, "saved_id": saved_id, "jahr": jahr}
|
||||
|
||||
|
||||
# GET gespeicherte Berichte
|
||||
# ------------------------------------------------------------------
|
||||
@router.get("/zucht-ki/jahresbericht")
|
||||
async def jahresbericht_list(user=Depends(_require_breeder)):
|
||||
with db() as conn:
|
||||
rows = conn.execute(
|
||||
"SELECT id, jahr, created_at FROM breeder_jahresberichte WHERE user_id=? ORDER BY created_at DESC LIMIT 20",
|
||||
(user["id"],)
|
||||
).fetchall()
|
||||
return [{"id": r["id"], "jahr": r["jahr"], "created_at": r["created_at"]} for r in rows]
|
||||
|
||||
|
||||
@router.get("/zucht-ki/jahresbericht/{bericht_id}")
|
||||
async def jahresbericht_get(bericht_id: int, user=Depends(_require_breeder)):
|
||||
with db() as conn:
|
||||
row = conn.execute(
|
||||
"SELECT id, jahr, text, created_at FROM breeder_jahresberichte WHERE id=? AND user_id=?",
|
||||
(bericht_id, user["id"])
|
||||
).fetchone()
|
||||
if not row:
|
||||
raise HTTPException(404, "Bericht nicht gefunden.")
|
||||
return dict(row)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue