"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ROOT_DB_HANDLER;
const grab_dsql_connection_1 = __importDefault(require("../../grab-dsql-connection"));
/**
 * # Root DB handler
 */
function ROOT_DB_HANDLER(...args) {
    const CONNECTION = (0, grab_dsql_connection_1.default)();
    try {
        return new Promise((resolve, reject) => {
            CONNECTION.query(...args)
                .then((results) => {
                CONNECTION.end();
                resolve(JSON.parse(JSON.stringify(results)));
            })
                .catch((err) => {
                CONNECTION.end();
                resolve({
                    error: err.message,
                    sql: err.sql,
                });
            });
        });
    }
    catch (error) {
        return {
            success: false,
            error: error.message,
        };
    }
    finally {
        CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end();
    }
}