datasquirel/dist/package-shared/shell/createDbFromSchema/check-db-record.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

63 lines
2.8 KiB
JavaScript

import varDatabaseDbHandler from "../utils/varDatabaseDbHandler";
import numberfy from "../../utils/numberfy";
import addDbEntry from "../../functions/backend/db/addDbEntry";
import updateDbEntry from "../../functions/backend/db/updateDbEntry";
/**
* # Create database from Schema Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/
export default async function checkDbRecordCreateDbSchema({ userId, dbSchema, isMain, }) {
var _a, _b;
if (isMain)
return undefined;
try {
const { dbFullName, dbName, dbSlug, dbDescription, dbImage, childDatabase, childDatabaseDbId, id, } = dbSchema;
let recordedDbEntryArray = userId
? await varDatabaseDbHandler({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"],
})
: undefined;
let recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
const newDbEntryObj = {
user_id: numberfy(userId),
db_name: dbName,
db_slug: dbSlug,
db_full_name: dbFullName,
db_description: dbDescription,
db_image: dbImage,
active_clone: childDatabase ? 1 : undefined,
db_schema_id: numberfy(id),
active_clone_parent_db_id: numberfy(childDatabaseDbId),
};
if (!(recordedDbEntry === null || recordedDbEntry === void 0 ? void 0 : recordedDbEntry.id) && userId) {
const newDbEntry = await addDbEntry({
data: newDbEntryObj,
tableName: "user_databases",
forceLocal: true,
});
if ((_a = newDbEntry.payload) === null || _a === void 0 ? void 0 : _a.insertId) {
recordedDbEntryArray = await varDatabaseDbHandler({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"],
});
recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
}
}
else if (recordedDbEntry === null || recordedDbEntry === void 0 ? void 0 : recordedDbEntry.id) {
await updateDbEntry({
data: newDbEntryObj,
tableName: "user_databases",
forceLocal: true,
identifierColumnName: "id",
identifierValue: String(recordedDbEntry.id),
});
}
return recordedDbEntry;
}
catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Checking DB Record on Creating Schema`, error);
return undefined;
}
}