Files
recflare/apps/accounts
2026-07-08 13:22:06 -04:00
..
2026-07-08 13:22:06 -04:00
2026-06-09 00:49:11 -04:00
2026-06-29 23:44:57 -04:00
2026-06-29 23:16:42 -04:00
2026-06-09 00:49:11 -04:00
2026-07-05 19:23:06 -04:00
2026-06-30 23:57:29 -04:00
2026-07-06 21:08:24 -04:00

accounts

Accounts Worker served on the accounts subdomain. A Hono app for accounts. Database queries 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.
  • DB-backed reads return synthesized default accounts. Every column gets a fallback (Player{id}, DefaultProfileImage.jpg, etc.), so the stubs return those defaults rather than 404ing on a missing row.
  • DB-backed writes (create, the PUT /account/me/* mutations) accept the request and ack without persisting. create mints a random account id and returns it wrapped in the RecNet result envelope { success, value }.

Endpoints

  • GET / — health check
  • GET /account/me — authed self account (SelfAccount)
  • GET /account/bulk?id=1&id=2 — accounts for the requested ids
  • GET /account/:id — single account
  • GET /account/:id/bio — player bio
  • POST /account/create — create an account → { success, value }
  • GET /parentalcontrol/me — authed parental-control flags
  • PUT /account/me/displayname — authed, body displayName
  • PUT /account/me/username — authed, body username
  • PUT /account/me/bio — authed, body bio
  • PUT /account/me/profileimage — authed, body imageName

TODO before production

  • Wire a DB binding (D1/DO) for Accounts, CachedLogins, PlayerBios, Rooms/SubRooms (the dorm room created on signup).
  • Make reads 404 on missing rows once real data exists.
  • Persist the PUT /account/me/* mutations.
  • Move the JWT secret to a shared secret binding (shared with auth).