This commit is contained in:
Benjamin Toby
2025-07-09 20:30:45 +01:00
parent ccb5605b58
commit c37d105dee
264 changed files with 2389 additions and 3743 deletions
@@ -13,26 +13,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = checkDbRecordCreateDbSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const numberfy_1 = __importDefault(require("../../utils/numberfy"));
const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry"));
const updateDbEntry_1 = __importDefault(require("../../functions/backend/db/updateDbEntry"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/**
* # Create database from Schema Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/
function checkDbRecordCreateDbSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId, dbSchema, isMain, }) {
var _b, _c;
var _b;
if (isMain)
return undefined;
try {
const { dbFullName, dbName, dbSlug, dbDescription, dbImage, childDatabase, childDatabaseDbId, id, } = dbSchema;
let recordedDbEntryArray = userId
? yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"],
})
? (yield (0, dbHandler_1.default)({
query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
values: [dbFullName || "NULL"],
}))
: undefined;
let recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
const newDbEntryObj = {
@@ -53,10 +53,10 @@ function checkDbRecordCreateDbSchema(_a) {
forceLocal: true,
});
if ((_b = newDbEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
recordedDbEntryArray = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"],
});
recordedDbEntryArray = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
values: [dbFullName || "NULL"],
}));
recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
}
}
@@ -72,7 +72,7 @@ function checkDbRecordCreateDbSchema(_a) {
return recordedDbEntry;
}
catch (error) {
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error Checking DB Record on Creating Schema`, error);
console.log("Error =\u003e", error.message);
return undefined;
}
});
@@ -13,17 +13,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = checkTableRecordCreateDbSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const sql_generator_1 = __importDefault(require("../../functions/dsql/sql/sql-generator"));
const numberfy_1 = __importDefault(require("../../utils/numberfy"));
const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/**
* # Create database from Schema Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/
function checkTableRecordCreateDbSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId, tableSchema, dbSchema, dbRecord, dbFullName, }) {
var _b, _c;
var _b;
if (!tableSchema)
return undefined;
try {
@@ -45,10 +45,10 @@ function checkTableRecordCreateDbSchema(_a) {
dbFullName: "datasquirel",
});
let recordedTableEntryArray = userId
? yield (0, varDatabaseDbHandler_1.default)({
queryString: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
queryValuesArray: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
})
? (yield (0, dbHandler_1.default)({
query: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
values: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
}))
: undefined;
let recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0];
if (!(recordedTableEntry === null || recordedTableEntry === void 0 ? void 0 : recordedTableEntry.id) && userId) {
@@ -75,17 +75,17 @@ function checkTableRecordCreateDbSchema(_a) {
forceLocal: true,
});
if ((_b = newTableRecordEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
recordedTableEntryArray = yield (0, varDatabaseDbHandler_1.default)({
queryString: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
queryValuesArray: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
});
recordedTableEntryArray = (yield (0, dbHandler_1.default)({
query: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
values: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
}));
recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0];
}
}
return recordedTableEntry;
}
catch (error) {
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error Checking Table Record on Creating Schema`, error);
console.log("Error =\u003e", error.message);
return undefined;
}
});
@@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = handleIndexescreateDbFromSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const grab_dsql_schema_index_comment_1 = __importDefault(require("../utils/grab-dsql-schema-index-comment"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/**
* Handle DATASQUIREL Table Indexes
* ===================================================
@@ -23,9 +23,9 @@ const grab_dsql_schema_index_comment_1 = __importDefault(require("../utils/grab-
*/
function handleIndexescreateDbFromSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, tableName, indexes, }) {
const allExistingIndexes = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
});
const allExistingIndexes = (yield (0, dbHandler_1.default)({
query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
}));
for (let g = 0; g < indexes.length; g++) {
const { indexType, indexName, indexTableFields, alias } = indexes[g];
if (!(alias === null || alias === void 0 ? void 0 : alias.match(/./)))
@@ -44,11 +44,11 @@ function handleIndexescreateDbFromSchema(_a) {
* doesn't exist in MYSQL db
*/
const queryString = `CREATE${indexType == "full_text" ? " FULLTEXT" : ""} INDEX \`${alias}\` ON \`${dbFullName}\`.\`${tableName}\`(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT '${(0, grab_dsql_schema_index_comment_1.default)()} ${indexName}'`;
const addIndex = yield (0, varDatabaseDbHandler_1.default)({ queryString });
const addIndex = yield (0, dbHandler_1.default)({ query: queryString });
}
}
const allExistingIndexesAfterUpdate = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
});
const allExistingIndexesAfterUpdate = (yield (0, dbHandler_1.default)({
query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
}));
});
}
+31 -51
View File
@@ -46,8 +46,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = createDbFromSchema;
const noDatabaseDbHandler_1 = __importDefault(require("../utils/noDatabaseDbHandler"));
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const createTable_1 = __importDefault(require("../utils/createTable"));
const updateTable_1 = __importDefault(require("../utils/updateTable"));
const grab_dir_names_1 = __importDefault(require("../../utils/backend/names/grab-dir-names"));
@@ -88,59 +86,41 @@ function createDbFromSchema(_a) {
continue;
}
console.log(`Handling database => ${dbFullName}`);
const dbCheck = yield (0, noDatabaseDbHandler_1.default)(`SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`);
const dbCheck = yield (0, dbHandler_1.default)({
query: `SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`,
});
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`);
const newDatabase = yield (0, dbHandler_1.default)({
query: `CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
});
}
const allTables = yield (0, noDatabaseDbHandler_1.default)(`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`);
const allTables = (yield (0, dbHandler_1.default)({
query: `SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`,
}));
let recordedDbEntry = yield (0, check_db_record_1.default)({
dbSchema: database,
userId,
isMain,
});
for (let tb = 0; tb < allTables.length; tb++) {
const { TABLE_NAME } = allTables[tb];
const targetTableSchema = tables.find((_table) => _table.tableName === TABLE_NAME);
/**
* @description Check if TABLE_NAME is part of the tables contained
* in the user schema JSON. If it's not, the table is either deleted
* or the table name has been recently changed
*/
if (!targetTableSchema) {
console.log(`Dropping Table ${TABLE_NAME} from ${dbFullName}`);
yield (0, varDatabaseDbHandler_1.default)({
queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
});
const deleteTableEntry = yield (0, dbHandler_1.default)({
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
values: [userId, dbSlug, TABLE_NAME],
});
// const oldTable = tables.find(
// (_table) =>
// _table.tableNameOld &&
// _table.tableNameOld === TABLE_NAME
// );
// /**
// * @description Check if this table has been recently renamed. Rename
// * table id true. Drop table if false
// */
// if (oldTable) {
// console.log("Renaming Table");
// await varDatabaseDbHandler({
// queryString: `RENAME TABLE \`${dbFullName}\`.\`${oldTable.tableNameOld}\` TO \`${oldTable.tableName}\``,
// });
// } else {
// console.log(
// `Dropping Table ${TABLE_NAME} from ${dbFullName}`
// );
// await varDatabaseDbHandler({
// queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
// });
// const deleteTableEntry = await dbHandler({
// query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
// values: [userId, dbSlug, TABLE_NAME],
// });
// }
if (allTables === null || allTables === void 0 ? void 0 : allTables.length) {
for (let tb = 0; tb < allTables.length; tb++) {
const { TABLE_NAME } = allTables[tb];
const targetTableSchema = tables.find((_table) => _table.tableName === TABLE_NAME);
/**
* @description Check if TABLE_NAME is part of the tables contained
* in the user schema JSON. If it's not, the table is either deleted
* or the table name has been recently changed
*/
if (!targetTableSchema) {
console.log(`Dropping Table ${TABLE_NAME} from ${dbFullName}`);
yield (0, dbHandler_1.default)({
query: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
});
const deleteTableEntry = yield (0, dbHandler_1.default)({
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
values: [userId, dbSlug, TABLE_NAME],
});
}
}
}
/**
@@ -156,8 +136,8 @@ function createDbFromSchema(_a) {
* @description Check if table exists
* @type {any}
*/
const tableCheck = yield (0, varDatabaseDbHandler_1.default)({
queryString: `
const tableCheck = yield (0, dbHandler_1.default)({
query: `
SELECT EXISTS (
SELECT
TABLE_NAME
@@ -167,7 +147,7 @@ function createDbFromSchema(_a) {
TABLE_SCHEMA = ? AND
TABLE_NAME = ?
) AS tableExists`,
queryValuesArray: [dbFullName, table.tableName],
values: [dbFullName, table.tableName],
});
if (tableCheck && ((_c = tableCheck[0]) === null || _c === void 0 ? void 0 : _c.tableExists) > 0) {
/**