Run 060: Spots + Photos + Reviews routes metadata
Dokončeno
Schema.annotations Number cleanup + 11 endpointů metadata (Spots CRUD bez list, Photos 3, Reviews 4) v openapi.ts.
Od: 2026-05-06 Do: 2026-05-06 Vytvořeno před 2 h
5/5
100%
Tasky v runu
Otevřít kanban →| ID | Název | Status | Priorita | Vytvořeno |
|---|---|---|---|---|
| 6 | Vyčištění OpenAPI Number shape přes Schema.annotations JSON Schema výstup byl ošklivý — Schema.Number povoluje NaN/Infinity přes string encoding (anyOf branche). Swap na Schema.Finite (dedikované schema, ne jen check) tyhle větve odstraní → lat/lng/rating mají v Scalar UI čisté {type:'number'}. | Hotovo | Střední | před 2 h |
| 7 | OpenAPI metadata pro zbývající Spots endpointy Spots měly hand-tagged jen GET list (R059 PoC). Doplněno POST /api/spots, GET /api/spots/{id}, PATCH /api/spots/{id}, DELETE /api/spots/{id} — security pro auth-protected, response refs na Spot.* schemas, error responses 400/401/403/404 dokumentovány. | Hotovo | Střední | před 2 h |
| 8 | OpenAPI metadata pro Photos endpointy Tři Photos endpointy chyběly v dokumentaci — POST link userFile ke spotu, GET list (s visitorOnly filtrem co odděluje hero galerii od galerie návštěvníků), DELETE unlink (multi-owner check: file owner / spot owner / ADMIN). Photo.* schemas přidány do components. | Hotovo | Střední | před 2 h |
| 9 | OpenAPI metadata pro Reviews endpointy Čtyři Reviews endpointy doplněny: POST + GET pod /api/spots/{spotId}/reviews, PATCH + DELETE top-level /api/reviews/{reviewId}. Doc původně zmiňoval že ADMIN nesmí PATCH cizí recenze — code skutečně dovoluje, opraveno v review fází. Review.* schemas v components. | Hotovo | Střední | před 2 h |
| 10 | Smoke OpenAPI spec + automatické checky Curl /openapi.json vrátil 200 application/json (23KB validní OpenAPI 3.1, 6 paths / 12 operations / 11 named schemas). SpotResponse.lat má teď shape {type:'number'} bez anyOf NaN/Infinity větví. Typecheck/oxlint čistý, 35/35 vitest pass. | Hotovo | Střední | před 2 h |
Screenshoty
0
Žádné screenshoty. Nahraj první.