import { Pool } from 'pg';
import * as pg from 'pg';
import 'dotenv/config';

// Return DATE columns as plain YYYY-MM-DD strings (not JS Date objects)
pg.types.setTypeParser(pg.types.builtins.DATE, (v: string) => v);
// Return TIMESTAMPTZ / TIMESTAMP as ISO strings
pg.types.setTypeParser(pg.types.builtins.TIMESTAMPTZ, (v: string) => new Date(v).toISOString());
pg.types.setTypeParser(pg.types.builtins.TIMESTAMP,   (v: string) => new Date(v).toISOString());

if (!process.env.DB_URL) {
  throw new Error('DB_URL environment variable is required');
}

export const pool = new Pool({
  connectionString: process.env.DB_URL,
  ssl: { rejectUnauthorized: false },
});

pool.on('error', (err) => console.error('PG pool error:', err));
