import fs from "fs";
import serverError from "./serverError";
import NO_DB_HANDLER from "../../utils/backend/global-db/NO_DB_HANDLER";

/**
 * # No Database DB Handler
 */
export default async function noDatabaseDbHandler(
    queryString: string
): Promise<any> {
    process.env.NODE_ENV?.match(/dev/) &&
        fs.appendFileSync(
            "./.tmp/sqlQuery.sql",
            queryString + "\n" + Date() + "\n\n\n",
            "utf8"
        );

    /**
     * Declare variables
     *
     * @description Declare "results" variable
     */
    let results;

    /**
     * Fetch from db
     *
     * @description Fetch data from db if no cache
     */
    try {
        /** ********************* Run Query */
        results = await NO_DB_HANDLER(queryString);

        ////////////////////////////////////////
        ////////////////////////////////////////
        ////////////////////////////////////////
    } catch (/** @type {any} */ error: any) {
        serverError({
            component: "noDatabaseDbHandler",
            message: error.message,
        });

        console.log("ERROR in noDatabaseDbHandler =>", error.message);
    }

    /**
     * Return results
     *
     * @description Return results add to cache if "req" param is passed
     */
    if (results) {
        return results;
    } else {
        return null;
    }
}
