45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
require("dotenv").config({ path: "./../.env" });
|
|
import { AppNames } from "../dict/app-names";
|
|
import serverError from "../functions/backend/serverError";
|
|
import noDatabaseDbHandler from "./utils/noDatabaseDbHandler";
|
|
|
|
/**
|
|
* # Create Database From Schema
|
|
*/
|
|
async function grantFullPrivileges({ userId }: { userId: string | null }) {
|
|
/**
|
|
* Grab Schema
|
|
*
|
|
* @description Grab Schema
|
|
*/
|
|
try {
|
|
const defaultMariadbUserHost = process.env.DSQL_DB_HOST || "127.0.0.1";
|
|
|
|
const allDatabases = await noDatabaseDbHandler(`SHOW DATABASES`);
|
|
|
|
const datasquirelUserDatabases = allDatabases.filter((database: any) =>
|
|
database.Database.match(new RegExp(`^${AppNames["DsqlDbPrefix"]}`))
|
|
);
|
|
|
|
for (let i = 0; i < datasquirelUserDatabases.length; i++) {
|
|
const datasquirelUserDatabase = datasquirelUserDatabases[i];
|
|
const { Database } = datasquirelUserDatabase;
|
|
}
|
|
|
|
const flushPriviledged = await noDatabaseDbHandler(`FLUSH PRIVILEGES`);
|
|
} catch (error: any) {
|
|
serverError({
|
|
component: "shell/grantDbPriviledges/main-catch-error",
|
|
message: error.message,
|
|
user: { id: userId },
|
|
});
|
|
}
|
|
|
|
process.exit();
|
|
}
|
|
|
|
const userArg = process.argv[process.argv.indexOf("--user")];
|
|
const externalUser = process.argv[process.argv.indexOf("--user") + 1];
|
|
|
|
grantFullPrivileges({ userId: userArg ? externalUser : null });
|