From 26855bebf5bd21cf212cf12886f5a643e1e5f139 Mon Sep 17 00:00:00 2001 From: achmad Date: Fri, 29 May 2026 20:43:27 +0700 Subject: [PATCH] fix: add missing GET handler for player purchases 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) --- backend/src/lib/handlers/player.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/src/lib/handlers/player.ts b/backend/src/lib/handlers/player.ts index 83c74db..9af115d 100644 --- a/backend/src/lib/handlers/player.ts +++ b/backend/src/lib/handlers/player.ts @@ -93,6 +93,13 @@ route('player/:steamId/currency/give', ['POST'], (ctx: HandlerContext) => { return { success: true }; }); +// GET /player/:steamId/purchases — Get purchase history +route('player/:steamId/purchases', ['GET'], (ctx: HandlerContext) => { + const db = getDb(); + const rows = db.prepare('SELECT item_id FROM purchases WHERE steam_id = ? ORDER BY created_at DESC').all(ctx.params.steamId) as any[]; + return { purchases: rows.map(r => r.item_id) }; +}); + // POST /player/:steamId/purchases — Record a store purchase route('player/:steamId/purchases', ['POST'], (ctx: HandlerContext) => { const { item_id, item_category, card_id, price_free, price_donate, price_dust } = ctx.body as any;