Updates
This commit is contained in:
Vendored
+1
-20
@@ -8,23 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("dotenv").config({ path: "./../.env" });
|
||||
const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
|
||||
const grabDbSSL_1 = __importDefault(require("../utils/backend/grabDbSSL"));
|
||||
const connection = (0, serverless_mysql_1.default)({
|
||||
config: {
|
||||
host: process.env.DSQL_DB_HOST,
|
||||
user: process.env.DSQL_DB_USERNAME,
|
||||
password: process.env.DSQL_DB_PASSWORD,
|
||||
database: process.env.DSQL_DB_NAME,
|
||||
charset: "utf8mb4",
|
||||
ssl: (0, grabDbSSL_1.default)(),
|
||||
},
|
||||
});
|
||||
/**
|
||||
* # Main DB Handler Function
|
||||
* @async
|
||||
@@ -37,11 +22,7 @@ const connection = (0, serverless_mysql_1.default)({
|
||||
* @returns {Promise<object|null>}
|
||||
*/
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
/**
|
||||
* Switch Database
|
||||
*
|
||||
* @description If a database is provided, switch to it
|
||||
*/
|
||||
const connection = global.DSQL_DB_CONN;
|
||||
try {
|
||||
const result = yield connection.query("SELECT id,first_name,last_name FROM users LIMIT 3");
|
||||
console.log("Connection Query Success =>", result);
|
||||
|
||||
@@ -5,6 +5,7 @@ type Param = {
|
||||
};
|
||||
/**
|
||||
* # Create database from Schema Function
|
||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||
*/
|
||||
export default function createDbFromSchema({ userId, targetDatabase, dbSchemaData, }: Param): Promise<void>;
|
||||
export {};
|
||||
|
||||
+8
-43
@@ -21,20 +21,13 @@ const createTable_1 = __importDefault(require("./utils/createTable"));
|
||||
const updateTable_1 = __importDefault(require("./utils/updateTable"));
|
||||
const dbHandler_1 = __importDefault(require("./utils/dbHandler"));
|
||||
const ejson_1 = __importDefault(require("../utils/ejson"));
|
||||
const util_1 = require("util");
|
||||
/**
|
||||
* # Create database from Schema Function
|
||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||
*/
|
||||
function createDbFromSchema(_a) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ userId, targetDatabase, dbSchemaData, }) {
|
||||
var _b, _c;
|
||||
console.log("///////////////////////////////");
|
||||
console.log("///////////////////////////////");
|
||||
console.log("Rebuilding Database ...");
|
||||
console.log("process.env.DSQL_DB_HOST", process.env.DSQL_DB_HOST);
|
||||
console.log("process.env.DSQL_DB_USERNAME", process.env.DSQL_DB_USERNAME);
|
||||
console.log("process.env.DSQL_DB_PASSWORD", process.env.DSQL_DB_PASSWORD);
|
||||
console.log("process.env.DSQL_DB_NAME", process.env.DSQL_DB_NAME);
|
||||
const schemaPath = userId
|
||||
? path_1.default.join(String(process.env.DSQL_USER_DB_SCHEMA_PATH), `/user-${userId}/main.json`)
|
||||
: path_1.default.resolve(__dirname, "../../jsonData/dbSchemas/main.json");
|
||||
@@ -46,20 +39,14 @@ function createDbFromSchema(_a) {
|
||||
}
|
||||
// await createDatabasesFromSchema(dbSchema);
|
||||
for (let i = 0; i < dbSchema.length; i++) {
|
||||
/** @type {import("../types").DSQL_DatabaseSchemaType} */
|
||||
const database = dbSchema[i];
|
||||
const { dbFullName, tables, dbName, dbSlug, childrenDatabases } = database;
|
||||
if (targetDatabase && dbFullName != targetDatabase) {
|
||||
continue;
|
||||
}
|
||||
console.log("Checking Database ...");
|
||||
/** @type {any} */
|
||||
const dbCheck = yield (0, noDatabaseDbHandler_1.default)(`SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`);
|
||||
console.log("DB Checked Success!");
|
||||
if (dbCheck && ((_b = dbCheck[0]) === null || _b === void 0 ? void 0 : _b.dbFullName)) {
|
||||
// Database Exists
|
||||
}
|
||||
else {
|
||||
if (!((_b = dbCheck === null || dbCheck === void 0 ? void 0 : dbCheck[0]) === null || _b === void 0 ? void 0 : _b.dbFullName)) {
|
||||
const newDatabase = yield (0, noDatabaseDbHandler_1.default)(`CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`);
|
||||
}
|
||||
/**
|
||||
@@ -86,28 +73,24 @@ function createDbFromSchema(_a) {
|
||||
if (oldTableFilteredArray && oldTableFilteredArray[0]) {
|
||||
console.log("Renaming Table");
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `RENAME TABLE \`${oldTableFilteredArray[0].tableNameOld}\` TO \`${oldTableFilteredArray[0].tableName}\``,
|
||||
database: dbFullName,
|
||||
queryString: `RENAME TABLE \`${dbFullName}\`.\`${oldTableFilteredArray[0].tableNameOld}\` TO \`${oldTableFilteredArray[0].tableName}\``,
|
||||
});
|
||||
}
|
||||
else {
|
||||
console.log(`Dropping Table from ${dbFullName}`);
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `DROP TABLE \`${TABLE_NAME}\``,
|
||||
database: dbFullName,
|
||||
queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
|
||||
});
|
||||
const deleteTableEntry = yield (0, dbHandler_1.default)({
|
||||
query: `DELETE FROM user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
|
||||
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
|
||||
values: [userId, dbSlug, TABLE_NAME],
|
||||
database: "datasquirel",
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
const recordedDbEntryArray = userId
|
||||
? yield (0, varDatabaseDbHandler_1.default)({
|
||||
database: "datasquirel",
|
||||
queryString: `SELECT * FROM user_databases WHERE db_full_name = ?`,
|
||||
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
|
||||
queryValuesArray: [dbFullName],
|
||||
})
|
||||
: undefined;
|
||||
@@ -134,7 +117,6 @@ function createDbFromSchema(_a) {
|
||||
TABLE_NAME = ?
|
||||
) AS tableExists`,
|
||||
queryValuesArray: [dbFullName, table.tableName],
|
||||
database: dbFullName,
|
||||
});
|
||||
////////////////////////////////////////
|
||||
if (tableCheck && ((_c = tableCheck[0]) === null || _c === void 0 ? void 0 : _c.tableExists) > 0) {
|
||||
@@ -183,7 +165,6 @@ function createDbFromSchema(_a) {
|
||||
tableName: tableName,
|
||||
tableInfoArray: fields,
|
||||
dbFullName: dbFullName,
|
||||
dbSchema,
|
||||
tableSchema: table,
|
||||
recordedDbEntry,
|
||||
});
|
||||
@@ -208,8 +189,7 @@ function createDbFromSchema(_a) {
|
||||
* @description All indexes from MYSQL db
|
||||
*/ // @ts-ignore
|
||||
const allExistingIndexes = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SHOW INDEXES FROM \`${tableName}\``,
|
||||
database: dbFullName,
|
||||
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
});
|
||||
const existingKeyInDb = allExistingIndexes.filter((indexObject) => indexObject.Key_name === alias);
|
||||
if (!existingKeyInDb[0])
|
||||
@@ -223,8 +203,7 @@ function createDbFromSchema(_a) {
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `CREATE${(indexType === null || indexType === void 0 ? void 0 : indexType.match(/fullText/i))
|
||||
? " FULLTEXT"
|
||||
: ""} INDEX \`${alias}\` ON ${tableName}(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT 'schema_index'`,
|
||||
database: dbFullName,
|
||||
: ""} INDEX \`${alias}\` ON \`${dbFullName}\`.\`${tableName}\`(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT 'schema_index'`,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -246,19 +225,5 @@ function createDbFromSchema(_a) {
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log("Database Successfully Rebuilt!");
|
||||
console.log("///////////////////////////////");
|
||||
console.log("///////////////////////////////");
|
||||
});
|
||||
}
|
||||
const { values } = (0, util_1.parseArgs)({
|
||||
args: process.argv,
|
||||
options: {
|
||||
exec: { type: "boolean" },
|
||||
},
|
||||
strict: true,
|
||||
allowPositionals: true,
|
||||
});
|
||||
if (values.exec) {
|
||||
createDbFromSchema({});
|
||||
}
|
||||
|
||||
+1
-4
@@ -34,15 +34,12 @@ const varDatabaseDbHandler_1 = __importDefault(require("../functions/backend/var
|
||||
const { id, user_id, db_id, db_full_name, table_name, table_slug, table_description, } = table;
|
||||
const tableInfo = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='${db_full_name}' AND TABLE_NAME='${table_slug}'`,
|
||||
database: db_full_name,
|
||||
});
|
||||
const updateDbCharset = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER DATABASE ${db_full_name} CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;`,
|
||||
database: db_full_name,
|
||||
});
|
||||
const updateEncoding = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE \`${table_slug}\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
|
||||
database: db_full_name,
|
||||
queryString: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
|
||||
});
|
||||
}
|
||||
process.exit();
|
||||
|
||||
@@ -4,9 +4,9 @@ export interface GrantType {
|
||||
privileges: string[];
|
||||
}
|
||||
type Param = {
|
||||
username: string;
|
||||
host: string;
|
||||
grants: GrantType[];
|
||||
username?: string;
|
||||
host?: string;
|
||||
grants?: GrantType[];
|
||||
userId: string;
|
||||
};
|
||||
/**
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
type Param = {
|
||||
userId?: number | string;
|
||||
mariadbUserHost?: string;
|
||||
mariadbUser?: string;
|
||||
mariadbUsername?: string;
|
||||
sqlUserID?: string | number;
|
||||
};
|
||||
/**
|
||||
* # Refresh Mariadb User Grants
|
||||
*/
|
||||
export default function refreshUsersAndGrants({ userId, mariadbUserHost, mariadbUser, sqlUserID, }: Param): Promise<void>;
|
||||
export default function refreshUsersAndGrants({ userId, mariadbUserHost, mariadbUsername, sqlUserID, }: Param): Promise<void>;
|
||||
export {};
|
||||
|
||||
@@ -26,26 +26,25 @@ const defaultMariadbUserHost = process.env.DSQL_DB_HOST || "127.0.0.1";
|
||||
* # Refresh Mariadb User Grants
|
||||
*/
|
||||
function refreshUsersAndGrants(_a) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ userId, mariadbUserHost, mariadbUser, sqlUserID, }) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ userId, mariadbUserHost, mariadbUsername, sqlUserID, }) {
|
||||
var _b, _c, _d, _e;
|
||||
/**
|
||||
* @description Users
|
||||
* @type {*[] | null}
|
||||
*/ // @ts-ignore
|
||||
const users = yield (0, dbHandler_1.default)({
|
||||
query: `SELECT * FROM users`,
|
||||
});
|
||||
if (!(users === null || users === void 0 ? void 0 : users[0])) {
|
||||
process.exit();
|
||||
const mariadbUsers = (yield (0, dbHandler_1.default)({
|
||||
query: `SELECT * FROM mariadb_users`,
|
||||
}));
|
||||
if (!(mariadbUsers === null || mariadbUsers === void 0 ? void 0 : mariadbUsers[0])) {
|
||||
return;
|
||||
}
|
||||
for (let i = 0; i < users.length; i++) {
|
||||
const user = users[i];
|
||||
if (!user)
|
||||
const isRootUser = userId
|
||||
? userId == Number(process.env.DSQL_SU_USER_ID)
|
||||
: false;
|
||||
for (let i = 0; i < mariadbUsers.length; i++) {
|
||||
const mariadbUser = mariadbUsers[i];
|
||||
if (!mariadbUser)
|
||||
continue;
|
||||
if (userId && user.id != userId)
|
||||
if (userId && mariadbUser.user_id != userId)
|
||||
continue;
|
||||
try {
|
||||
const { mariadb_user, mariadb_host, mariadb_pass, id } = user;
|
||||
const { mariadb_user, mariadb_host, mariadb_pass, user_id } = mariadbUser;
|
||||
const existingUser = yield (0, noDatabaseDbHandler_1.default)(`SELECT * FROM mysql.user WHERE User = '${mariadb_user}' AND Host = '${mariadb_host}'`);
|
||||
const existingMariaDBUserArray = userId && sqlUserID
|
||||
? yield (0, dbHandler_1.default)({
|
||||
@@ -53,9 +52,6 @@ function refreshUsersAndGrants(_a) {
|
||||
values: [sqlUserID, userId],
|
||||
})
|
||||
: null;
|
||||
/**
|
||||
* @type {import("../../types").MYSQL_mariadb_users_table_def | undefined}
|
||||
*/
|
||||
const activeMariadbUserObject = Array.isArray(existingMariaDBUserArray)
|
||||
? existingMariaDBUserArray === null || existingMariaDBUserArray === void 0 ? void 0 : existingMariaDBUserArray[0]
|
||||
: undefined;
|
||||
@@ -66,7 +62,9 @@ function refreshUsersAndGrants(_a) {
|
||||
: false;
|
||||
const isUserExisting = Boolean((_c = existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) === null || _c === void 0 ? void 0 : _c.User);
|
||||
const isThisPrimaryHost = Boolean(mariadbUserHost == defaultMariadbUserHost);
|
||||
const dslUsername = `dsql_user_${id}`;
|
||||
const dslUsername = isRootUser
|
||||
? mariadbUsername
|
||||
: `dsql_user_${user_id}`;
|
||||
const dsqlPassword = (activeMariadbUserObject === null || activeMariadbUserObject === void 0 ? void 0 : activeMariadbUserObject.password)
|
||||
? activeMariadbUserObject.password
|
||||
: isUserExisting
|
||||
@@ -91,20 +89,23 @@ function refreshUsersAndGrants(_a) {
|
||||
!sqlUserID &&
|
||||
!isPrimary &&
|
||||
!mariadbUserHost &&
|
||||
!mariadbUser) {
|
||||
!mariadbUsername) {
|
||||
const createNewUser = yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${dslUsername}'@'${defaultMariadbUserHost}' IDENTIFIED BY '${dsqlPassword}'`);
|
||||
console.log("createNewUser", createNewUser);
|
||||
console.log(`User ${user.id}: ${user.first_name} ${user.last_name} SQL credentials successfully updated.`);
|
||||
console.log(`User ${mariadbUser.id}: ${mariadbUser.first_name} ${mariadbUser.last_name} SQL credentials successfully updated.`);
|
||||
const updateUser = yield (0, dbHandler_1.default)({
|
||||
query: `UPDATE users SET mariadb_user = ?, mariadb_host = ?, mariadb_pass = ? WHERE id = ?`,
|
||||
values: [
|
||||
dslUsername,
|
||||
defaultMariadbUserHost,
|
||||
encryptedPassword,
|
||||
user.id,
|
||||
mariadbUser.id,
|
||||
],
|
||||
});
|
||||
}
|
||||
else if (!isUserExisting && mariadbUserHost) {
|
||||
const createNewUser = yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${dslUsername}'@'${mariadbUserHost}' IDENTIFIED BY '${dsqlPassword}'`);
|
||||
}
|
||||
if (isPrimary) {
|
||||
const finalHost = mariadbUserHost
|
||||
? mariadbUserHost
|
||||
@@ -115,7 +116,7 @@ function refreshUsersAndGrants(_a) {
|
||||
dslUsername,
|
||||
finalHost,
|
||||
encryptedPassword,
|
||||
user.id,
|
||||
mariadbUser.id,
|
||||
],
|
||||
});
|
||||
}
|
||||
@@ -127,7 +128,7 @@ function refreshUsersAndGrants(_a) {
|
||||
*/
|
||||
const existingMariadbPrimaryUser = yield (0, dbHandler_1.default)({
|
||||
query: `SELECT * FROM mariadb_users WHERE user_id = ? AND \`primary\` = 1`,
|
||||
values: [id],
|
||||
values: [user_id],
|
||||
});
|
||||
const isPrimaryUserExisting = Boolean(Array.isArray(existingMariadbPrimaryUser) &&
|
||||
((_d = existingMariadbPrimaryUser === null || existingMariadbPrimaryUser === void 0 ? void 0 : existingMariadbPrimaryUser[0]) === null || _d === void 0 ? void 0 : _d.user_id));
|
||||
@@ -142,7 +143,7 @@ function refreshUsersAndGrants(_a) {
|
||||
const insertPrimaryMariadbUser = yield (0, dbHandler_1.default)({
|
||||
query: `INSERT INTO mariadb_users (user_id, username, password, \`primary\`, grants) VALUES (?, ?, ?, ?, ?)`,
|
||||
values: [
|
||||
id,
|
||||
user_id,
|
||||
dslUsername,
|
||||
encryptedPassword,
|
||||
"1",
|
||||
@@ -153,36 +154,37 @@ function refreshUsersAndGrants(_a) {
|
||||
//////////////////////////////////////////////
|
||||
const existingExtraMariadbUsers = yield (0, dbHandler_1.default)({
|
||||
query: `SELECT * FROM mariadb_users WHERE user_id = ? AND \`primary\` != '1'`,
|
||||
values: [id],
|
||||
values: [user_id],
|
||||
});
|
||||
if (Array.isArray(existingExtraMariadbUsers)) {
|
||||
for (let i = 0; i < existingExtraMariadbUsers.length; i++) {
|
||||
const mariadbUser = existingExtraMariadbUsers[i];
|
||||
const { user_id, username, host, password, primary, grants, } = mariadbUser;
|
||||
if (mariadbUser && username != mariadbUser)
|
||||
const _mariadbUser = existingExtraMariadbUsers[i];
|
||||
if (_mariadbUser &&
|
||||
_mariadbUser.username != mariadbUsername)
|
||||
continue;
|
||||
if (mariadbUserHost && host != mariadbUserHost)
|
||||
if (mariadbUserHost && _mariadbUser.host != mariadbUserHost)
|
||||
continue;
|
||||
const decrptedPassword = (0, decrypt_1.default)({
|
||||
encryptedString: password,
|
||||
encryptedString: _mariadbUser.password || "",
|
||||
encryptionKey: process.env.DSQL_ENCRYPTION_PASSWORD,
|
||||
encryptionSalt: process.env.DSQL_ENCRYPTION_SALT,
|
||||
});
|
||||
const existingExtraMariadbUser = yield (0, noDatabaseDbHandler_1.default)(`SELECT * FROM mysql.user WHERE User = '${username}' AND Host = '${host}'`);
|
||||
const existingExtraMariadbUser = yield (0, noDatabaseDbHandler_1.default)(`SELECT * FROM mysql.user WHERE User='${_mariadbUser.username}' AND Host='${_mariadbUser.host}'`);
|
||||
const isExtraMariadbUserExisting = Boolean((_e = existingExtraMariadbUser === null || existingExtraMariadbUser === void 0 ? void 0 : existingExtraMariadbUser[0]) === null || _e === void 0 ? void 0 : _e.User);
|
||||
if (!isExtraMariadbUserExisting) {
|
||||
yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${username}'@'${host}' IDENTIFIED BY '${decrptedPassword}'`);
|
||||
yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${_mariadbUser.username}'@'${_mariadbUser.host}' IDENTIFIED BY '${decrptedPassword}'`);
|
||||
}
|
||||
const isGrantHandled = yield (0, handleGrants_1.default)({
|
||||
username,
|
||||
host,
|
||||
grants: grants && typeof grants == "string"
|
||||
? JSON.parse(grants)
|
||||
username: _mariadbUser.username,
|
||||
host: _mariadbUser.host,
|
||||
grants: _mariadbUser.grants &&
|
||||
typeof _mariadbUser.grants == "string"
|
||||
? JSON.parse(_mariadbUser.grants)
|
||||
: [],
|
||||
userId: String(userId),
|
||||
});
|
||||
if (!isGrantHandled) {
|
||||
console.log(`Error in handling grants for user ${username}@${host}`);
|
||||
console.log(`Error in handling grants for user ${_mariadbUser.username}@${_mariadbUser.host}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ function recoverMainJsonFromDb() {
|
||||
};
|
||||
const tableFields = yield (0, varDatabaseDbHandler_1.default)({
|
||||
database: db_full_name,
|
||||
queryString: `SHOW COLUMNS FROM ${table_slug}`,
|
||||
queryString: `SHOW COLUMNS FROM ${db_full_name}.${table_slug}`,
|
||||
});
|
||||
for (let k = 0; k < tableFields.length; k++) {
|
||||
const { Field, Type, Null, Default, Key } = tableFields[k];
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ const destinationFile = process.argv.indexOf("--dst") >= 0
|
||||
/** ****************************************************************************** */
|
||||
console.log("Running Tailwind CSS compiler ...");
|
||||
fs_1.default.watch("./../", (curr, prev) => {
|
||||
(0, child_process_1.exec)(`npx tailwindcss -i ./tailwind/main.css -o ./styles/tailwind.css`, (error, stdout, stderr) => {
|
||||
(0, child_process_1.exec)(`bunx tailwindcss -i ./tailwind/main.css -o ./styles/tailwind.css`, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.log("ERROR =>", error.message);
|
||||
return;
|
||||
|
||||
+2
-5
@@ -28,15 +28,12 @@ const varDatabaseDbHandler_1 = __importDefault(require("../functions/backend/var
|
||||
const { id, user_id, db_id, db_full_name, table_name, table_slug, table_description, } = table;
|
||||
const tableInfo = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='${db_full_name}' AND TABLE_NAME='${table_slug}'`,
|
||||
database: db_full_name,
|
||||
});
|
||||
const updateCreationDateTimestamp = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE \`${table_slug}\` MODIFY COLUMN date_created_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP`,
|
||||
database: db_full_name,
|
||||
queryString: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` MODIFY COLUMN date_created_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP`,
|
||||
});
|
||||
const updateDateTimestamp = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE \`${table_slug}\` MODIFY COLUMN date_updated_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`,
|
||||
database: db_full_name,
|
||||
queryString: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` MODIFY COLUMN date_updated_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`,
|
||||
});
|
||||
console.log("Date Updated Column updated");
|
||||
}
|
||||
|
||||
@@ -28,8 +28,7 @@ const DB_HANDLER_1 = __importDefault(require("../utils/backend/global-db/DB_HAND
|
||||
* @description Grab Schema
|
||||
*/
|
||||
(0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SELECT DISTINCT db_id FROM user_database_tables`,
|
||||
database: "datasquirel",
|
||||
queryString: `SELECT DISTINCT db_id FROM datasquirel.user_database_tables`,
|
||||
}).then((tables) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
// console.log(tables);
|
||||
// process.exit();
|
||||
|
||||
+1
-20
@@ -8,23 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("dotenv").config({ path: "./../.env" });
|
||||
const grabDbSSL_1 = __importDefault(require("../utils/backend/grabDbSSL"));
|
||||
const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
|
||||
const connection = (0, serverless_mysql_1.default)({
|
||||
config: {
|
||||
host: process.env.DSQL_DB_HOST,
|
||||
user: process.env.DSQL_DB_USERNAME,
|
||||
password: process.env.DSQL_DB_PASSWORD,
|
||||
database: process.env.DSQL_DB_NAME,
|
||||
charset: "utf8mb4",
|
||||
ssl: (0, grabDbSSL_1.default)(),
|
||||
},
|
||||
});
|
||||
/**
|
||||
* # Main DB Handler Function
|
||||
* @async
|
||||
@@ -38,11 +23,7 @@ const connection = (0, serverless_mysql_1.default)({
|
||||
*/
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
var _a;
|
||||
/**
|
||||
* Switch Database
|
||||
*
|
||||
* @description If a database is provided, switch to it
|
||||
*/
|
||||
const connection = global.DSQL_DB_CONN;
|
||||
try {
|
||||
const result = yield connection.query("SELECT user,host,ssl_type FROM mysql.user");
|
||||
const parsedResults = JSON.parse(JSON.stringify(result));
|
||||
|
||||
+2
-9
@@ -1,20 +1,13 @@
|
||||
import { DSQL_DatabaseSchemaType, DSQL_TableSchemaType } from "../../types";
|
||||
import { DSQL_TableSchemaType } from "../../types";
|
||||
type Param = {
|
||||
dbFullName: string;
|
||||
tableName: string;
|
||||
tableInfoArray: any[];
|
||||
dbSchema?: DSQL_DatabaseSchemaType[];
|
||||
tableSchema?: DSQL_TableSchemaType;
|
||||
recordedDbEntry?: any;
|
||||
clone?: boolean;
|
||||
};
|
||||
/**
|
||||
* # Create Table Functions
|
||||
*/
|
||||
export default function createTable({ dbFullName, tableName, tableInfoArray, dbSchema, clone, tableSchema, recordedDbEntry, }: Param): Promise<any>;
|
||||
export default function createTable({ dbFullName, tableName, tableInfoArray, tableSchema, recordedDbEntry, }: Param): Promise<any>;
|
||||
export {};
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
|
||||
+4
-18
@@ -21,7 +21,7 @@ const dbHandler_1 = __importDefault(require("./dbHandler"));
|
||||
* # Create Table Functions
|
||||
*/
|
||||
function createTable(_a) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ dbFullName, tableName, tableInfoArray, dbSchema, clone, tableSchema, recordedDbEntry, }) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ dbFullName, tableName, tableInfoArray, tableSchema, recordedDbEntry, }) {
|
||||
/**
|
||||
* Format tableInfoArray
|
||||
*
|
||||
@@ -34,7 +34,7 @@ function createTable(_a) {
|
||||
* @description Grab Schema
|
||||
*/
|
||||
const createTableQueryArray = [];
|
||||
createTableQueryArray.push(`CREATE TABLE IF NOT EXISTS \`${tableName}\` (`);
|
||||
createTableQueryArray.push(`CREATE TABLE IF NOT EXISTS \`${dbFullName}\`.\`${tableName}\` (`);
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
@@ -43,15 +43,14 @@ function createTable(_a) {
|
||||
throw new Error("Recorded Db entry not found!");
|
||||
}
|
||||
const existingTable = yield (0, varDatabaseDbHandler_1.default)({
|
||||
database: "datasquirel",
|
||||
queryString: `SELECT * FROM user_database_tables WHERE db_id = ? AND table_slug = ?`,
|
||||
queryString: `SELECT * FROM datasquirel.user_database_tables WHERE db_id = ? AND table_slug = ?`,
|
||||
queryValuesArray: [recordedDbEntry.id, tableSchema === null || tableSchema === void 0 ? void 0 : tableSchema.tableName],
|
||||
});
|
||||
/** @type {import("../../types").MYSQL_user_database_tables_table_def} */
|
||||
const table = existingTable === null || existingTable === void 0 ? void 0 : existingTable[0];
|
||||
if (!(table === null || table === void 0 ? void 0 : table.id)) {
|
||||
const newTableEntry = yield (0, dbHandler_1.default)({
|
||||
query: `INSERT INTO user_database_tables SET ?`,
|
||||
query: `INSERT INTO datasquirel.user_database_tables SET ?`,
|
||||
values: {
|
||||
user_id: recordedDbEntry.user_id,
|
||||
db_id: recordedDbEntry.id,
|
||||
@@ -66,7 +65,6 @@ function createTable(_a) {
|
||||
date_updated: Date(),
|
||||
date_updated_code: Date.now(),
|
||||
},
|
||||
database: "datasquirel",
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -100,9 +98,6 @@ function createTable(_a) {
|
||||
createTableQueryArray.push(" " + fieldEntryText + comma);
|
||||
////////////////////////////////////////
|
||||
}
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
if (foreignKeys[0]) {
|
||||
foreignKeys.forEach((foreighKey, index, array) => {
|
||||
var _a, _b, _c, _d, _e;
|
||||
@@ -126,16 +121,7 @@ function createTable(_a) {
|
||||
////////////////////////////////////////
|
||||
const newTable = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: createTableQuery,
|
||||
database: dbFullName,
|
||||
});
|
||||
return newTable;
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
});
|
||||
}
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
/** ****************************************************************************** */
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
type Param = {
|
||||
query: string;
|
||||
values?: string[] | object;
|
||||
database?: string;
|
||||
};
|
||||
/**
|
||||
* # Main DB Handler Function
|
||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||
*/
|
||||
export default function dbHandler({ query, values, database, }: Param): Promise<any[] | object | null>;
|
||||
export default function dbHandler({ query, values, }: Param): Promise<any[] | object | null>;
|
||||
export {};
|
||||
|
||||
+6
-52
@@ -15,56 +15,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = dbHandler;
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
|
||||
const grabDbSSL_1 = __importDefault(require("../../utils/backend/grabDbSSL"));
|
||||
let connection = (0, serverless_mysql_1.default)({
|
||||
config: {
|
||||
host: process.env.DSQL_DB_HOST,
|
||||
user: process.env.DSQL_DB_USERNAME,
|
||||
password: process.env.DSQL_DB_PASSWORD,
|
||||
database: process.env.DSQL_DB_NAME,
|
||||
charset: "utf8mb4",
|
||||
ssl: (0, grabDbSSL_1.default)(),
|
||||
},
|
||||
});
|
||||
/**
|
||||
* # Main DB Handler Function
|
||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||
*/
|
||||
function dbHandler(_a) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ query, values, database, }) {
|
||||
/**
|
||||
* Switch Database
|
||||
*
|
||||
* @description If a database is provided, switch to it
|
||||
*/
|
||||
let isDbCorrect = true;
|
||||
if (database) {
|
||||
connection = (0, serverless_mysql_1.default)({
|
||||
config: {
|
||||
host: process.env.DSQL_DB_HOST,
|
||||
user: process.env.DSQL_DB_USERNAME,
|
||||
password: process.env.DSQL_DB_PASSWORD,
|
||||
database: database,
|
||||
charset: "utf8mb4",
|
||||
ssl: (0, grabDbSSL_1.default)(),
|
||||
},
|
||||
});
|
||||
}
|
||||
if (!isDbCorrect) {
|
||||
console.log("Shell Db Handler ERROR in switching Database! Operation Failed!");
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Declare variables
|
||||
*
|
||||
* @description Declare "results" variable
|
||||
*/
|
||||
return __awaiter(this, arguments, void 0, function* ({ query, values, }) {
|
||||
let connection = global.DSQL_DB_CONN;
|
||||
let results;
|
||||
/**
|
||||
* Fetch from db
|
||||
*
|
||||
* @description Fetch data from db if no cache
|
||||
*/
|
||||
try {
|
||||
if (query && values) {
|
||||
results = yield connection.query(query, values);
|
||||
@@ -72,8 +30,6 @@ function dbHandler(_a) {
|
||||
else {
|
||||
results = yield connection.query(query);
|
||||
}
|
||||
/** ********************* Clean up */
|
||||
yield connection.end();
|
||||
}
|
||||
catch ( /** @type {any} */error) {
|
||||
if (process.env.FIRST_RUN) {
|
||||
@@ -85,11 +41,9 @@ function dbHandler(_a) {
|
||||
fs_1.default.appendFileSync(path_1.default.resolve(__dirname, "../.tmp/dbErrorLogs.txt"), JSON.stringify(error, null, 4) + "\n" + Date() + "\n\n\n", "utf8");
|
||||
results = null;
|
||||
}
|
||||
/**
|
||||
* Return results
|
||||
*
|
||||
* @description Return results add to cache if "req" param is passed
|
||||
*/
|
||||
finally {
|
||||
yield (connection === null || connection === void 0 ? void 0 : connection.end());
|
||||
}
|
||||
if (results) {
|
||||
return JSON.parse(JSON.stringify(results));
|
||||
}
|
||||
|
||||
+12
-24
@@ -55,22 +55,21 @@ function updateTable(_a) {
|
||||
/**
|
||||
* @description Push the query initial value
|
||||
*/
|
||||
updateTableQueryArray.push(`ALTER TABLE \`${tableName}\``);
|
||||
updateTableQueryArray.push(`ALTER TABLE \`${dbFullName}\`.\`${tableName}\``);
|
||||
if (childDb) {
|
||||
try {
|
||||
if (!recordedDbEntry) {
|
||||
throw new Error("Recorded Db entry not found!");
|
||||
}
|
||||
const existingTable = yield (0, varDatabaseDbHandler_1.default)({
|
||||
database: "datasquirel",
|
||||
queryString: `SELECT * FROM user_database_tables WHERE db_id = ? AND table_slug = ?`,
|
||||
queryString: `SELECT * FROM datasquirel.user_database_tables WHERE db_id = ? AND table_slug = ?`,
|
||||
queryValuesArray: [recordedDbEntry.id, tableName],
|
||||
});
|
||||
/** @type {import("../../types").MYSQL_user_database_tables_table_def} */
|
||||
const table = existingTable === null || existingTable === void 0 ? void 0 : existingTable[0];
|
||||
if (!(table === null || table === void 0 ? void 0 : table.id)) {
|
||||
const newTableEntry = yield (0, dbHandler_1.default)({
|
||||
query: `INSERT INTO user_database_tables SET ?`,
|
||||
query: `INSERT INTO datasquirel.user_database_tables SET ?`,
|
||||
values: {
|
||||
user_id: recordedDbEntry.user_id,
|
||||
db_id: recordedDbEntry.id,
|
||||
@@ -85,7 +84,6 @@ function updateTable(_a) {
|
||||
date_updated: Date(),
|
||||
date_updated_code: Date.now(),
|
||||
},
|
||||
database: "datasquirel",
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -96,16 +94,14 @@ function updateTable(_a) {
|
||||
* @description All indexes from MYSQL db
|
||||
*/ // @ts-ignore
|
||||
const allExistingIndexes = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SHOW INDEXES FROM \`${tableName}\``,
|
||||
database: dbFullName,
|
||||
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
});
|
||||
/**
|
||||
* @type {import("../../types").DSQL_MYSQL_SHOW_COLUMNS_Type[]}
|
||||
* @description All columns from MYSQL db
|
||||
*/ // @ts-ignore
|
||||
const allExistingColumns = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SHOW COLUMNS FROM \`${tableName}\``,
|
||||
database: dbFullName,
|
||||
queryString: `SHOW COLUMNS FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
});
|
||||
////////////////////////////////////////
|
||||
/**
|
||||
@@ -133,8 +129,7 @@ function updateTable(_a) {
|
||||
existingEntry[0].fieldName) {
|
||||
updatedColumnsArray.push(existingEntry[0].fieldName);
|
||||
const renameColumn = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE ${tableName} RENAME COLUMN \`${existingEntry[0].originName}\` TO \`${existingEntry[0].fieldName}\``,
|
||||
database: dbFullName,
|
||||
queryString: `ALTER TABLE \`${dbFullName}\`.\`${tableName}\` RENAME COLUMN \`${existingEntry[0].originName}\` TO \`${existingEntry[0].fieldName}\``,
|
||||
});
|
||||
console.log(`Column Renamed from "${existingEntry[0].originName}" to "${existingEntry[0].fieldName}"`);
|
||||
/**
|
||||
@@ -167,8 +162,7 @@ function updateTable(_a) {
|
||||
}
|
||||
else {
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE ${tableName} DROP COLUMN \`${Field}\``,
|
||||
database: dbFullName,
|
||||
queryString: `ALTER TABLE \`${dbFullName}\`.\`${tableName}\` DROP COLUMN \`${Field}\``,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -196,8 +190,7 @@ function updateTable(_a) {
|
||||
* present in the datasquirel DB schema
|
||||
*/
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE ${tableName} DROP INDEX \`${Key_name}\``,
|
||||
database: dbFullName,
|
||||
queryString: `ALTER TABLE \`${dbFullName}\`.\`${tableName}\` DROP INDEX \`${Key_name}\``,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -227,8 +220,7 @@ function updateTable(_a) {
|
||||
* doesn't exist in MYSQL db
|
||||
*/
|
||||
yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `CREATE${(indexType === null || indexType === void 0 ? void 0 : indexType.match(/fullText/i)) ? " FULLTEXT" : ""} INDEX \`${alias}\` ON ${tableName}(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT 'schema_index'`,
|
||||
database: dbFullName,
|
||||
queryString: `CREATE${(indexType === null || indexType === void 0 ? void 0 : indexType.match(/fullText/i)) ? " FULLTEXT" : ""} INDEX \`${alias}\` ON \`${dbFullName}\`.\`${tableName}\`(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT 'schema_index'`,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -242,10 +234,9 @@ function updateTable(_a) {
|
||||
/**
|
||||
* @description All MSQL Foreign Keys
|
||||
* @type {import("../../types").DSQL_MYSQL_FOREIGN_KEYS_Type[] | null}
|
||||
*/ // @ts-ignore
|
||||
*/
|
||||
const allForeignKeys = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = '${dbFullName}' AND TABLE_NAME='${tableName}' AND CONSTRAINT_TYPE='FOREIGN KEY'`,
|
||||
database: dbFullName,
|
||||
});
|
||||
if (allForeignKeys) {
|
||||
for (let c = 0; c < allForeignKeys.length; c++) {
|
||||
@@ -260,8 +251,7 @@ function updateTable(_a) {
|
||||
* Foreign keys
|
||||
*/
|
||||
const dropForeignKey = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: `ALTER TABLE ${tableName} DROP FOREIGN KEY \`${CONSTRAINT_NAME}\``,
|
||||
database: dbFullName,
|
||||
queryString: `ALTER TABLE \`${dbFullName}\`.\`${tableName}\` DROP FOREIGN KEY \`${CONSTRAINT_NAME}\``,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -370,9 +360,8 @@ function updateTable(_a) {
|
||||
const { destinationTableName, destinationTableColumnName, cascadeDelete, cascadeUpdate, foreignKeyName, } = foreignKey;
|
||||
const foreinKeyText = `ADD CONSTRAINT \`${foreignKeyName}\` FOREIGN KEY (\`${fieldName}\`) REFERENCES \`${destinationTableName}\`(\`${destinationTableColumnName}\`)${cascadeDelete ? " ON DELETE CASCADE" : ""}${cascadeUpdate ? " ON UPDATE CASCADE" : ""}`;
|
||||
// const foreinKeyText = `ADD CONSTRAINT \`${foreignKeyName}\` FOREIGN KEY (${fieldName}) REFERENCES ${destinationTableName}(${destinationTableColumnName})${cascadeDelete ? " ON DELETE CASCADE" : ""}${cascadeUpdate ? " ON UPDATE CASCADE" : ""}` + ",";
|
||||
const finalQueryString = `ALTER TABLE \`${tableName}\` ${foreinKeyText}`;
|
||||
const finalQueryString = `ALTER TABLE \`${dbFullName}\`.\`${tableName}\` ${foreinKeyText}`;
|
||||
const addForeignKey = yield (0, varDatabaseDbHandler_1.default)({
|
||||
database: dbFullName,
|
||||
queryString: finalQueryString,
|
||||
});
|
||||
if (!(addForeignKey === null || addForeignKey === void 0 ? void 0 : addForeignKey.serverStatus)) {
|
||||
@@ -397,7 +386,6 @@ function updateTable(_a) {
|
||||
if (updateTableQueryArray.length > 1) {
|
||||
const updateTable = yield (0, varDatabaseDbHandler_1.default)({
|
||||
queryString: updateTableQuery,
|
||||
database: dbFullName,
|
||||
});
|
||||
return updateTable;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
import { DSQL_TableSchemaType } from "../../types";
|
||||
type Param = {
|
||||
queryString: string;
|
||||
queryValuesArray?: string[];
|
||||
database?: string;
|
||||
tableSchema?: DSQL_TableSchemaType;
|
||||
};
|
||||
/**
|
||||
* # DB handler for specific database
|
||||
*/
|
||||
export default function varDatabaseDbHandler({ queryString, queryValuesArray, database, tableSchema, }: Param): Promise<any>;
|
||||
export default function varDatabaseDbHandler({ queryString, queryValuesArray, }: Param): Promise<any>;
|
||||
export {};
|
||||
|
||||
+1
-3
@@ -18,7 +18,7 @@ const dbHandler_1 = __importDefault(require("./dbHandler"));
|
||||
* # DB handler for specific database
|
||||
*/
|
||||
function varDatabaseDbHandler(_a) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, }) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, }) {
|
||||
/**
|
||||
* Declare variables
|
||||
*
|
||||
@@ -38,13 +38,11 @@ function varDatabaseDbHandler(_a) {
|
||||
results = yield (0, dbHandler_1.default)({
|
||||
query: queryString,
|
||||
values: queryValuesArray,
|
||||
database,
|
||||
});
|
||||
}
|
||||
else {
|
||||
results = yield (0, dbHandler_1.default)({
|
||||
query: queryString,
|
||||
database,
|
||||
});
|
||||
}
|
||||
////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user