From 386071f48d1220baea67fc5492823771b3189f06 Mon Sep 17 00:00:00 2001 From: Mohan Ki Date: Mon, 27 Jul 2026 16:38:23 +0530 Subject: [PATCH] fix: add missing qr_scans table creation to fix 500 error on /api/qr --- api/db/init.sql | 13 +++++++++++++ api/server.js | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/api/db/init.sql b/api/db/init.sql index a4eeb74..27a2f36 100644 --- a/api/db/init.sql +++ b/api/db/init.sql @@ -18,3 +18,16 @@ CREATE TABLE IF NOT EXISTS qr_codes ( design_data JSONB, -- Custom styling created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); + +CREATE TABLE IF NOT EXISTS qr_scans ( + id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + qr_code_id UUID REFERENCES qr_codes(id) ON DELETE CASCADE, + ip_address VARCHAR(45), + user_agent TEXT, + os VARCHAR(50), + device_type VARCHAR(50), + browser VARCHAR(50), + country VARCHAR(100), + city VARCHAR(100), + scanned_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); diff --git a/api/server.js b/api/server.js index 1f2e316..3046675 100644 --- a/api/server.js +++ b/api/server.js @@ -113,6 +113,19 @@ app.get('/health', healthCheck); // Auto-migrate schema pgPool.query(`ALTER TABLE qr_codes ADD COLUMN IF NOT EXISTS name VARCHAR(255);`).catch(console.error); +pgPool.query(` +CREATE TABLE IF NOT EXISTS qr_scans ( + id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + qr_code_id UUID REFERENCES qr_codes(id) ON DELETE CASCADE, + ip_address VARCHAR(45), + user_agent TEXT, + os VARCHAR(50), + device_type VARCHAR(50), + browser VARCHAR(50), + country VARCHAR(100), + city VARCHAR(100), + scanned_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +);`).catch(console.error); app.listen(port, () => { console.log(`CK-QR API listening on port ${port}`);