Reservierung aufheben und offene Galerie entschieden
- Aufheben darf der Reservierende selbst (per Token-Link) und der Betreiber. Ein offener release-Endpunkt wäre die naheliegende, aber falsche Variante: dann löscht jeder Besucher fremde Reservierungen, und weil reserved_by mitgeht, bleibt nicht mal nachvollziehbar, dass jemand reserviert hatte. Token wird beim Aufheben und beim Erledigen gelöscht, Vergleich mit compare_digest. - Die Galerie bleibt frei zugänglich, ohne Zugangscode. Damit wird das Rate-Limit zur einzigen Bremse vor dem Reservieren-Endpunkt, und zwei Dinge gehören zwingend dazu: reserved_by erscheint öffentlich nur als "reserviert", und noindex/robots.txt verhindern, dass Fotos und Texte dauerhaft im Suchindex landen. projekt.md bei /release entsprechend präzisiert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GR4bNaj9GtRu57J4Niii8o
This commit is contained in:
@@ -79,8 +79,13 @@ Eine schlanke, mobile-optimierte Web-App zum Katalogisieren, Präsentieren und R
|
||||
### Reservierung & Status
|
||||
- `POST /api/v1/items/{id}/reserve`
|
||||
- **Body:** `{"reserved_by": "Familie Meier"}`
|
||||
- **Response:** enthält das `reservation_token` – daraus wird der Link zum
|
||||
Aufheben gebildet.
|
||||
- `POST /api/v1/items/{id}/release`
|
||||
- Setzt Status zurück auf `available` und löscht `reserved_by`.
|
||||
- **Erlaubt für:** den Reservierenden (mit gültigem `token`) oder den
|
||||
angemeldeten Betreiber. Ohne beides: `403`. Sonst könnte jeder Besucher
|
||||
fremde Reservierungen löschen.
|
||||
- `POST /api/v1/items/{id}/mark-given`
|
||||
- Setzt Status auf `given_away`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user