require("dotenv").config({ path: "./../.env" });

import serverError from "../functions/backend/serverError";
import varDatabaseDbHandler from "./utils/varDatabaseDbHandler";
import DB_HANDLER from "../utils/backend/global-db/DB_HANDLER";

/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */

/**
 * Grab Schema
 *
 * @description Grab Schema
 */
varDatabaseDbHandler({
    queryString: `SELECT DISTINCT db_id FROM datasquirel.user_database_tables`,
}).then(async (tables) => {
    // console.log(tables);
    // process.exit();

    for (let i = 0; i < tables.length; i++) {
        const table = tables[i];

        try {
            const { db_id } = table;

            const dbSlug = await DB_HANDLER(
                `SELECT db_slug FROM user_databases WHERE id='${db_id}'`
            );

            const updateTableSlug = await DB_HANDLER(
                `UPDATE user_database_tables SET db_slug='${dbSlug[0].db_slug}' WHERE db_id='${db_id}'`
            );
        } catch (error: any) {
            serverError({
                component:
                    "shell/updateDbSlugsForTableRecords/main-catch-error",
                message: error.message,
                user: {},
            });

            global.ERROR_CALLBACK?.(
                `Error Updating DB Slugs For Table Records`,
                error as Error
            );
        }
    }

    process.exit();
});
