This commit is contained in:
team3
2026-09-16 12:09:38 +02:00
parent aa5c64ae23
commit 90fffbe077
15 changed files with 326 additions and 40 deletions

View File

@@ -380,6 +380,54 @@ def wunsch_loeschen(feature_id: int):
return {"removed": entfernt}
@app.post("/api/features/{feature_id}/vote")
def wunsch_abstimmen(
feature_id: int,
response: Response,
filmabend_sid: str | None = Cookie(None),
):
"""Ein Klick setzt die Stimme, der nächste nimmt sie zurück."""
sid = sitzung(response, filmabend_sid)
steht = features.abstimmen(feature_id, sid)
if steht is None:
raise HTTPException(status_code=404, detail="Wunsch nicht gefunden")
events.senden("features")
return {"voted": steht}
@app.patch("/api/features/{feature_id}/done")
def wunsch_erledigen(feature_id: int, done: bool = Body(..., embed=True)):
"""Der Host hakt ab — den Knopf sieht nur er."""
if not features.erledigen(feature_id, done):
raise HTTPException(status_code=404, detail="Wunsch nicht gefunden")
events.senden("features")
return {"ok": True}
@app.post("/api/features/{feature_id}/notes")
def wunsch_anmerken(
feature_id: int,
response: Response,
text: str = Body(..., embed=True),
filmabend_sid: str | None = Cookie(None),
):
sid = sitzung(response, filmabend_sid)
if not features.anmerken(feature_id, sid, text):
raise HTTPException(status_code=400, detail="Kein Text oder Wunsch unbekannt")
events.senden("features")
return {"ok": True}
# Eigener Pfad statt /api/features/notes/{id}: der stünde sonst mit
# /api/features/{feature_id} im Weg
@app.delete("/api/feature-notes/{note_id}")
def anmerkung_loeschen(note_id: int):
entfernt = features.anmerkung_loeschen(note_id)
if entfernt:
events.senden("features")
return {"removed": entfernt}
@app.get("/api/wishlist")
def merkliste(response: Response, filmabend_sid: str | None = Cookie(None)):
"""Was diese Sitzung sich vorgemerkt hat."""