import type { VercelRequest, VercelResponse } from '@vercel/node' import { neon } from '@neondatabase/serverless' const PRIMARY_CITY = 'Dar es Salaam' export default async function handler(req: VercelRequest, res: VercelResponse) { if (!process.env.DATABASE_URL) { return res.status(500).json({ error: 'DATABASE_URL not set' }) } const sql = neon(process.env.DATABASE_URL) const zoneFilter = typeof req.query.zone_id === 'string' ? req.query.zone_id : undefined const rows = zoneFilter ? await sql` SELECT w.worker_id, w.name, w.name_swahili, w.nida_id, w.phone, w.zone_id, w.occupation, w.age, w.years_outdoor, w.household_size, w.mobile_money, w.tasaf_enrolled, w.enrolled_at, z.name AS zone_name, z.settlement_type FROM workers w JOIN zones z ON z.zone_id = w.zone_id WHERE z.city = ${PRIMARY_CITY} AND w.zone_id = ${zoneFilter} ORDER BY w.worker_id ` : await sql` SELECT w.worker_id, w.name, w.name_swahili, w.nida_id, w.phone, w.zone_id, w.occupation, w.age, w.years_outdoor, w.household_size, w.mobile_money, w.tasaf_enrolled, w.enrolled_at, z.name AS zone_name, z.settlement_type FROM workers w JOIN zones z ON z.zone_id = w.zone_id WHERE z.city = ${PRIMARY_CITY} ORDER BY z.name, w.worker_id ` return res.json({ workers: rows, total: rows.length }) }