vyvoj-dash

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 3 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 3 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 3 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 3 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 3 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 3 h

Screenshoty

0

Žádné screenshoty. Nahraj první.