import pg from 'pg';
import { config } from '../config.js';

const { Pool } = pg;

// Reader pool — для opertype=0 (SELECT процедуры).
// Можно позже направить на read-replica.
export const readerPool = new Pool({
  host: config.pg.host,
  port: config.pg.port,
  user: config.pg.user,
  password: config.pg.password,
  database: config.pg.database,
  max: config.pg.readerMax,
  application_name: 'mocl-reader',
});

// Writer pool — для opertype>0 (DML процедуры).
export const writerPool = new Pool({
  host: config.pg.host,
  port: config.pg.port,
  user: config.pg.user,
  password: config.pg.password,
  database: config.pg.database,
  max: config.pg.writerMax,
  application_name: 'mocl-writer',
});

export async function shutdownPools(): Promise<void> {
  await Promise.all([readerPool.end(), writerPool.end()]);
}
