import postgres from 'npm:postgres@3.4.4'; import jwt from 'npm:jsonwebtoken@9.0.2'; function getDb() { return postgres({ host: Deno.env.get('PG_HOST'), port: parseInt(Deno.env.get('PG_PORT') || '5432'), user: Deno.env.get('PG_USER'), password: Deno.env.get('PG_PASSWORD'), database: Deno.env.get('PG_DBNAME'), ssl: false, max: 1, }); } Deno.serve(async (req) => { const sql = getDb(); try { const body = await req.json(); const token = body._auth_token; if (!token) { await sql.end(); return Response.json({ error: 'Neautorizovaný prístup' }, { status: 401 }); } try { jwt.verify(token, Deno.env.get('JWT_SECRET')); } catch { await sql.end(); return Response.json({ error: 'Neplatný token' }, { status: 401 }); } await sql` CREATE TABLE IF NOT EXISTS housekeeping_records ( id SERIAL PRIMARY KEY, datum TIMESTAMP NOT NULL, prevadzka VARCHAR(255) NOT NULL, licencia VARCHAR(255), operacia VARCHAR(50) NOT NULL, verzia VARCHAR(50), typ_os VARCHAR(10), poznamka_prevadzky TEXT, poznamka_operacie TEXT, created_at TIMESTAMP DEFAULT NOW() ) `; const records = await sql` SELECT id, datum, prevadzka, licencia, operacia, verzia, typ_os AS "typOS", poznamka_prevadzky, poznamka_operacie FROM housekeeping_records ORDER BY datum DESC LIMIT 1000 `; await sql.end(); return Response.json({ records }); } catch (error) { await sql.end(); return Response.json({ error: error.message }, { status: 500 }); } });