// ============================================================= // db.js – Pripojenie k PostgreSQL databáze // ============================================================= // Tento modul exportuje funkciu query(), ktorú voláme v server.js // Namiesto priameho pripájania pri každom requeste používame // "connection pool" – znovupoužiteľné pripojenia (efektívnejšie) // ============================================================= const { Pool } = require('pg'); // Pool – skupina otvorených pripojení k databáze // Keď príde request, vezme voľné pripojenie z poolu a vráti ho späť // Konfigurácia sa číta z premenných prostredia (environment variables) // Tie nastavíme v Docker Compose – takto kód nevie o konkrétnom hesle const pool = new Pool({ host: process.env.DB_HOST || 'localhost', // adresa DB servera port: parseInt(process.env.DB_PORT) || 5432, // štandardný PostgreSQL port database: process.env.DB_NAME || 'blog', // názov databázy user: process.env.DB_USER || 'blog_user', // používateľ DB password: process.env.DB_PASSWORD || 'blog_pass', // heslo }); // Otestujeme pripojenie hneď pri štarte servera pool.connect((err, client, release) => { if (err) { console.error('Chyba pri pripájaní k databáze:', err.message); } else { console.log('Úspešne pripojený k PostgreSQL databáze'); release(); // vrátime pripojenie späť do poolu } }); // Exportujeme pomocnú funkciu query() // Ostatné súbory ju volajú ako: db.query('SELECT ...', [param1, ...]) module.exports = { query: (text, params) => pool.query(text, params), };