vyvoj-dash

Session #2

Zkontrolovaná
před 1 h
main 56cc894 Sprint audit: 016-api-docs-scalar

Celkem

15

OK

3

Bug

2

Čeká

10

Oblasti:
tests (6)
logic (3)
docs (3)
performance (1)
layout (1)
security (1)

Přidat položku

Kategorie
Filtr:
Oblast:

Soubor api/src/openapi.ts má 526 řádků, lehce přes interní sweet spot 500. Při dalším růstu (např. doplnění catch-all auth entry) refactor do podadresáře api/src/openapi/{spots,photos,reviews,auth,votes,admin}.ts s barrel souborem.

logic
Bug

Mobile dev (native Kotlin/Swift kamarád) potřebuje vědět: kořenový openapi.json je pryč. Nový zdroj specu pro orval / SDK gen je runtime https://api.hammocknook.win/openapi.json. Předat tuto informaci.

docs
Čeká

Schema.Number → Schema.Finite v libs/api-models znamená že request body s NaN/Infinity v lat/lng/rating teď vrátí 400. Praktiky neproblém (JSON nemá NaN), ale pokud někdo testuje API s edge case čísly, ví proč.

logic
Čeká

Sprint 016 hotovo — pauznuté carry-over runy (Sprint 011 R046 profil counters, Sprint 010 R043 perf, Sprint 015 R057+R058 Effect cleanup) lze odblokovat. Vyber prioritu pro další sprint.

docs
Čeká

API typecheck pass (0 errors), oxlint pass (0 warnings/errors), 35/35 vitest pass — Schema.Finite swap nezpůsobil žádný regression v existujících testech.

tests
OK

Build celého OpenAPI dokumentu se po Sprint 016 buildí jednou per Worker isolate (cache), ne při každém GET. Cold-start race idempotent.

performance
OK

Kořenový openapi.json (1021 řádků mrtvého NestJS dumpu) smazán. Spec se teď generuje runtime z živého kódu — žádné odchýlené verze v repo.

logic
OK

Otevři https://api.hammocknook.win/docs. Stránka má načíst Scalar UI s tmavým tématem. Vlevo je seznam tagů (Spots, Photos, Reviews, Auth, Votes, Admin).

layout
Čeká

V Scalar UI klikni Spots → 'List spots'. Klikni 'Try it out' → 'Send'. Má vrátit 200 s JSON arrayí spotů. Když přidáš query parameter minRating=4, list se zúží.

tests
Čeká

V Scalar UI klikni Spots → 'Get spot detail'. Vyplň path parameter id (může být UUID nebo slug, např. 'jeseniky-pod-pradedem'). Send → 200 s detail spotu, nebo 404 pokud neexistuje.

tests
Čeká

V Scalar UI klikni Reviews → 'Create review'. Bez přihlášení Send → 401. Po přihlášení a zadání spotId + rating + text → 201 s ReviewResponse.

tests
Čeká

V Scalar UI klikni Votes → 'Cast / change / remove vote'. Body { value: 1 } přihlášený → 200 s aktualizovanými countery. Body { value: 0 } → vote se smaže.

tests
Čeká

V Scalar UI ověř že u všech endpointů s 'security: sessionCookie' je vidět ikona zámku. Bez přihlášení dostaneš 401, po přihlášení 200/201/204 podle endpointu.

security
Čeká

Otevři https://api.hammocknook.win/openapi.json přímo v prohlížeči. Vrátí JSON s openapi:'3.1.0', 18 paths, 24 operations, 13 components.schemas. Velikost ~31KB.

tests
Čeká

Auth endpointy v Scalar UI jsou pod '/api/auth-parity/*' — nezvyklý prefix. Skuteční klienti volají '/api/auth/*' (better-auth handler). Doplnit do dokumentace catch-all '/api/auth/{path}' entry s odkazem na better-auth.

docs
Bug