const app = require('../app');
const { Client } = require('pg');
const fs = require('fs');
if (process.env.NODE_ENV !== 'production' || process.env.NODE_ENV !== 'testing') {
  require('dotenv').config();
}
const client = new Client();
client.connect();
async function executeQuery(query, values = []) {
    const result = await client.query({
        rowMode: 'array',
        text: query,
        values: values
    });
    return result.rows;
}
async function Initialize() {
    console.log("Initializing database...")
    const sql = fs.readFileSync('database/init_database.sql').toString();
    await executeQuery(sql);
    console.log("Database initialized.")
}
async function checkForDatabaseInitialization() {
    const query = `SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'scores'`;
    let result = await executeQuery(query);
    
    const scoresSchemaExists = result.length !== 0;
    if(!scoresSchemaExists) {
        Initialize();
    }
}
checkForDatabaseInitialization();
exports.executeQuery = executeQuery;