aboutsummaryrefslogtreecommitdiffhomepage
path: root/openapi/api-server.yaml
AgeCommit message (Collapse)Author
2026-02-18feat: refactor tournament to generic DB-backed N-person bracketnsfisis
Replace hardcoded 6-person tournament with a generic single-elimination bracket system backed by new DB tables (tournaments, tournament_entries, tournament_matches). Includes admin CRUD, standard seeding algorithm, bye handling, and a CSS Grid bracket renderer on the frontend. Add comprehensive tests for backend API/admin handlers, seeding logic, and frontend bracket component. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14feat(openapi): generate OpenAPI specs from TypeSpec sourcesnsfisis
Migrate hand-written OpenAPI YAML to TypeSpec (.tsp) source files. TypeSpec compiles to OpenAPI 3.0 YAML, enabling type-safe API definitions. - Add typespec/ directory with api-server and fortee definitions - Integrate TypeSpec build into `just gen` and `just build` pipelines - Update backend handler code to match new generated type names (inlined error responses, separate GameType/ProblemLanguage enums) - Regenerate frontend TypeScript types from new OpenAPI output Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13feat(auth): store JWT in HTTP-only cookie instead of JS-accessible cookiensfisis
Prevent XSS-based token theft by making the JWT inaccessible to JavaScript. The backend now sets/clears the cookie via Set-Cookie headers, and the frontend retrieves user info from /api/me instead of decoding the JWT directly. - Add JWTCookieMiddleware to parse cookie and inject claims into context - Add /me and /logout endpoints to OpenAPI spec and handlers - Update PostLogin to return user object + Set-Cookie header - Replace Authorization header auth with cookie-based auth throughout - Rewrite frontend auth to use /api/me instead of jwt-decode - Remove jwt-decode dependency - Configure CORS with credentials for local dev Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2025-09-17feat(backend,frontend): implement tournament pagensfisis
2025-09-06fix(*): support compile_error as worker resultnsfisis
2025-09-05feat(frontend): support swift languagensfisis
2025-03-29feat: show code in ranking pagensfisis
2025-03-21feat(frontend): show game result in 1v1 watchnsfisis
2025-03-20feat: show submission date on rankingnsfisis
2025-03-11feat: show user labelnsfisis
2025-03-08websocket to pollingnsfisis
2025-03-04rm registration tokennsfisis
2024-08-12feat: show left time in play pagensfisis
2024-08-12feat: add `submitresult` messagensfisis
2024-08-12refactor: rename verification_steps for consistant namingnsfisis
2024-08-12feat: do not show preliminary scorensfisis
2024-08-11feat: simplify starting procedurensfisis
2024-08-11feat(backend): remove `prepare` message's payloadnsfisis
2024-08-11feat(backend): always include `problem` property in `Game` object in APIsnsfisis
2024-08-11refactor: move openapi.yaml to openapi/nsfisis