Next.js [...path] route only exported GET/POST/PUT, causing all DELETE
requests (including deck deletion) to be silently rejected before
reaching the router. Deck delete was impossible.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Log method, path, steamId, card count, deck names, and errors for
all card-levels and decks API calls to help debug persistence issues.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Game client Lua expects GET /decks to return a map of
{deck_index: {name, cards}} not a flat array. Array format caused
self.decks to be set to wrong structure, breaking deck lookups and
triggering phantom deck creation on every interaction.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Game client saves/loads chat_wheel and arcade_pity data via GET/PUT but
backend had no routes, causing silent data loss on restart (same pattern
as the purchases bug). Added schema columns, migrations, and routes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Game client loads purchases via GET /player/:steamId/purchases on
game start but only the POST handler existed, causing 404. Added GET
handler that returns item_ids from the purchases table.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>