From a1129f6e6dcbbfe89d887cad4ab1fcc41224fd85 Mon Sep 17 00:00:00 2001 From: achmad Date: Fri, 29 May 2026 16:41:50 +0700 Subject: [PATCH] feat: add equipment handler --- backend/src/lib/handlers/equipment.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 backend/src/lib/handlers/equipment.ts diff --git a/backend/src/lib/handlers/equipment.ts b/backend/src/lib/handlers/equipment.ts new file mode 100644 index 0000000..65316c0 --- /dev/null +++ b/backend/src/lib/handlers/equipment.ts @@ -0,0 +1,22 @@ +import { route, HandlerContext, HttpError } from '@/lib/router'; +import { getDb } from '@/lib/db'; + +route('player/:steamId/equipment', ['GET'], (ctx: HandlerContext) => { + const db = getDb(); + const row = db.prepare('SELECT equipment FROM equipment WHERE steam_id = ?').get(ctx.params.steamId) as any; + return { equipment: row ? JSON.parse(row.equipment) : {} }; +}); + +route('player/:steamId/equipment', ['PUT'], (ctx: HandlerContext) => { + const { equipment } = ctx.body as any; + const db = getDb(); + db.prepare(` + INSERT INTO equipment (steam_id, equipment, updated_at) VALUES (?, ?, datetime('now')) + ON CONFLICT(steam_id) DO UPDATE SET equipment = ?, updated_at = datetime('now') + `).run(ctx.params.steamId, JSON.stringify(equipment || {}), JSON.stringify(equipment || {})); + return { success: true }; +}); + +route('player/:steamId/equipment/drop', ['POST'], (ctx: HandlerContext) => { + return { success: true }; +});