# api Game API Worker served on the `api` subdomain. A Hono app serving the game's API surface. Database-backed queries and on-disk JSON files are stubbed for now — no real bindings yet. ## Behavior - **Auth-gated routes** validate the Bearer JWT issued by the `auth` worker (same dev secret, see `src/jwt.ts`) and 401 when it's missing/invalid. - **Static data** is served verbatim: - `src/default-avatar-items.ts` → `GET /api/avatar/v4/items` - `src/default-settings.ts` → `GET /api/settings/v2` - **DB-backed reads** return empty collections / not-found. - **File-backed reads** return empty placeholders, each marked `TODO: hydrate` in `src/api.app.ts` (Workers have no filesystem — these will move to a binding or inline JSON later). ## TODO before production - Wire a DB binding (D1/DO) for rooms, avatars, settings, gifts, balances, etc. - Hydrate the `TODO: hydrate` endpoints with real config/JSON. - Move the JWT secret to a shared secret binding (shared with `auth`). - Persist uploads from `POST /api/images/v4/uploadsaved` (e.g. R2).