import pg from 'pg'; import { logger } from './utils/logger.js'; const { Pool } = pg; let pool: pg.Pool | null = null; export function getPool(): pg.Pool { if (pool) return pool; const connectionString = process.env.PAPERCLIP_DB_URL; if (!connectionString) { throw new Error('PAPERCLIP_DB_URL não definido — diagnostics tools requerem acesso BD'); } pool = new Pool({ connectionString, max: 5, idleTimeoutMillis: 30000, connectionTimeoutMillis: 5000, }); pool.on('error', (err) => logger.error('pg pool error:', err)); return pool; } export async function query>( text: string, params: unknown[] = [] ): Promise { const result = await getPool().query(text, params); return result.rows as T[]; } export const COMPANY_ID = process.env.PAPERCLIP_COMPANY_ID ?? 'ebe10308-efd7-453f-86ab-13e6fe84004f';