diff --git a/dist/package-shared/functions/api/social-login/googleLogin.js b/dist/package-shared/functions/api/social-login/googleLogin.js index 594bd9a..df8afed 100644 --- a/dist/package-shared/functions/api/social-login/googleLogin.js +++ b/dist/package-shared/functions/api/social-login/googleLogin.js @@ -23,7 +23,7 @@ const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); function googleLogin(_a) { return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) { var _b; - const client = new google_auth_library_1.OAuth2Client(process.env.NEXT_PUBLIC_DSQL_GOOGLE_CLIENT_ID); + const client = new google_auth_library_1.OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID); let isGoogleAuthValid = false; let newFoundUser = null; //////////////////////////////////////////////// @@ -32,7 +32,7 @@ function googleLogin(_a) { try { const ticket = yield client.verifyIdToken({ idToken: reqBody.token, - audience: process.env.NEXT_PUBLIC_DSQL_GOOGLE_CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend + audience: process.env.DSQL_GOOGLE_CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend // Or, if multiple clients access the backend: //[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3] }); diff --git a/dist/package-shared/functions/backend/queues/add-queue.d.ts b/dist/package-shared/functions/backend/queues/add-queue.d.ts new file mode 100644 index 0000000..1253ea9 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/add-queue.d.ts @@ -0,0 +1,10 @@ +import { DSQL_DATASQUIREL_PROCESS_QUEUE } from "../../../types/dsql"; +type Param = { + queue: DSQL_DATASQUIREL_PROCESS_QUEUE; + userId: string | number; + dummy?: boolean; +}; +export default function addQueue({ queue, userId, dummy }: Param): Promise<(import("../../../types").PostReturn & { + queryObject?: ReturnType>; +}) | null | undefined>; +export {}; diff --git a/dist/package-shared/functions/backend/queues/add-queue.js b/dist/package-shared/functions/backend/queues/add-queue.js new file mode 100644 index 0000000..9a805c6 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/add-queue.js @@ -0,0 +1,46 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + 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 }); +exports.default = addQueue; +const get_queue_1 = __importDefault(require("./get-queue")); +const crud_1 = __importDefault(require("../../../utils/data-fetching/crud")); +const numberfy_1 = __importDefault(require("../../../utils/numberfy")); +function addQueue(_a) { + return __awaiter(this, arguments, void 0, function* ({ queue, userId, dummy }) { + const tableName = "process_queue"; + const existingQueueRes = dummy + ? undefined + : (yield (0, get_queue_1.default)({ + query: { + query: { + user_id: { + value: String(userId), + }, + job_type: { + value: String(queue.job_type), + }, + }, + }, + })); + const existingQueue = existingQueueRes === null || existingQueueRes === void 0 ? void 0 : existingQueueRes[0]; + if ((existingQueue === null || existingQueue === void 0 ? void 0 : existingQueue.id) && !dummy) + return undefined; + const addQueueRes = yield (0, crud_1.default)({ + action: "insert", + table: tableName, + data: Object.assign(Object.assign({}, queue), { user_id: (0, numberfy_1.default)(userId) }), + }); + return addQueueRes; + }); +} diff --git a/dist/package-shared/functions/backend/queues/delete-queue.d.ts b/dist/package-shared/functions/backend/queues/delete-queue.d.ts new file mode 100644 index 0000000..99ed65a --- /dev/null +++ b/dist/package-shared/functions/backend/queues/delete-queue.d.ts @@ -0,0 +1,6 @@ +type Param = { + queueId: string | number; + userId: string | number; +}; +export default function deleteQueue({ queueId, userId }: Param): Promise; +export {}; diff --git a/dist/package-shared/functions/backend/queues/delete-queue.js b/dist/package-shared/functions/backend/queues/delete-queue.js new file mode 100644 index 0000000..37bfb34 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/delete-queue.js @@ -0,0 +1,31 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + 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 }); +exports.default = deleteQueue; +const crud_1 = __importDefault(require("../../../utils/data-fetching/crud")); +const get_queue_1 = __importDefault(require("./get-queue")); +function deleteQueue(_a) { + return __awaiter(this, arguments, void 0, function* ({ queueId, userId }) { + const tableName = "process_queue"; + const existingQueue = (yield (0, get_queue_1.default)({ userId, queueId })); + if (!(existingQueue === null || existingQueue === void 0 ? void 0 : existingQueue.id)) + return false; + const deleteQueueRes = yield (0, crud_1.default)({ + action: "delete", + table: tableName, + targetId: existingQueue.id, + }); + return Boolean(deleteQueueRes === null || deleteQueueRes === void 0 ? void 0 : deleteQueueRes.success); + }); +} diff --git a/dist/package-shared/functions/backend/queues/get-queue.d.ts b/dist/package-shared/functions/backend/queues/get-queue.d.ts new file mode 100644 index 0000000..b588aff --- /dev/null +++ b/dist/package-shared/functions/backend/queues/get-queue.d.ts @@ -0,0 +1,10 @@ +import { DSQL_DATASQUIREL_PROCESS_QUEUE } from "../../../types/dsql"; +import { DsqlCrudQueryObject } from "../../../types"; +type Param = { + queueId?: string | number; + userId?: string | number; + query?: DsqlCrudQueryObject; + single?: boolean; +}; +export default function getQueue({ queueId, userId, query, single, }: Param): Promise; +export {}; diff --git a/dist/package-shared/functions/backend/queues/get-queue.js b/dist/package-shared/functions/backend/queues/get-queue.js new file mode 100644 index 0000000..cc355d0 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/get-queue.js @@ -0,0 +1,35 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + 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 }); +exports.default = getQueue; +const crud_1 = __importDefault(require("../../../utils/data-fetching/crud")); +function getQueue(_a) { + return __awaiter(this, arguments, void 0, function* ({ queueId, userId, query, single, }) { + const tableName = "process_queue"; + let queryQuery = {}; + if (queueId) { + queryQuery = Object.assign(Object.assign({}, queryQuery), { id: { value: String(queueId) } }); + } + if (userId) { + queryQuery = Object.assign(Object.assign({}, queryQuery), { user_id: { value: String(userId) } }); + } + const getQueue = yield (0, crud_1.default)({ + action: "get", + table: tableName, + query: Object.assign(Object.assign({}, query), { query: Object.assign(Object.assign({}, query === null || query === void 0 ? void 0 : query.query), queryQuery) }), + }); + const queuePayload = getQueue === null || getQueue === void 0 ? void 0 : getQueue.payload; + return queueId || single ? queuePayload === null || queuePayload === void 0 ? void 0 : queuePayload[0] : queuePayload; + }); +} diff --git a/dist/package-shared/functions/backend/queues/update-queue.d.ts b/dist/package-shared/functions/backend/queues/update-queue.d.ts new file mode 100644 index 0000000..3667a93 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/update-queue.d.ts @@ -0,0 +1,7 @@ +import { DSQL_DATASQUIREL_PROCESS_QUEUE } from "../../../types/dsql"; +type Param = { + queueId: string | number; + queue: DSQL_DATASQUIREL_PROCESS_QUEUE; +}; +export default function updateQueue({ queueId, queue }: Param): Promise; +export {}; diff --git a/dist/package-shared/functions/backend/queues/update-queue.js b/dist/package-shared/functions/backend/queues/update-queue.js new file mode 100644 index 0000000..fad00b6 --- /dev/null +++ b/dist/package-shared/functions/backend/queues/update-queue.js @@ -0,0 +1,28 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + 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 }); +exports.default = updateQueue; +const crud_1 = __importDefault(require("../../../utils/data-fetching/crud")); +function updateQueue(_a) { + return __awaiter(this, arguments, void 0, function* ({ queueId, queue }) { + const tableName = "process_queue"; + const updateQueueRes = yield (0, crud_1.default)({ + action: "update", + table: tableName, + targetId: queueId, + data: queue, + }); + return Boolean(updateQueueRes === null || updateQueueRes === void 0 ? void 0 : updateQueueRes.success); + }); +} diff --git a/dist/package-shared/functions/dsql/sql/sql-generator.js b/dist/package-shared/functions/dsql/sql/sql-generator.js index 631dc94..b3f62bd 100644 --- a/dist/package-shared/functions/dsql/sql/sql-generator.js +++ b/dist/package-shared/functions/dsql/sql/sql-generator.js @@ -8,7 +8,7 @@ exports.default = sqlGenerator; function sqlGenerator({ tableName, genObject, dbFullName }) { if (!genObject) return undefined; - const finalQuery = genObject.query ? genObject.query : undefined; + const finalQuery = (genObject === null || genObject === void 0 ? void 0 : genObject.query) ? genObject.query : undefined; const queryKeys = finalQuery ? Object.keys(finalQuery) : undefined; const sqlSearhValues = []; const finalDbName = dbFullName ? `${dbFullName}.` : ""; diff --git a/dist/package-shared/shell/createDbFromSchema/index.d.ts b/dist/package-shared/shell/createDbFromSchema/index.d.ts index cfbee97..a350e69 100644 --- a/dist/package-shared/shell/createDbFromSchema/index.d.ts +++ b/dist/package-shared/shell/createDbFromSchema/index.d.ts @@ -7,5 +7,5 @@ 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; +export default function createDbFromSchema({ userId, targetDatabase, dbSchemaData, }: Param): Promise; export {}; diff --git a/dist/package-shared/shell/createDbFromSchema/index.js b/dist/package-shared/shell/createDbFromSchema/index.js index c3ab7ee..abe744e 100644 --- a/dist/package-shared/shell/createDbFromSchema/index.js +++ b/dist/package-shared/shell/createDbFromSchema/index.js @@ -39,7 +39,7 @@ function createDbFromSchema(_a) { ejson_1.default.parse(fs_1.default.readFileSync(schemaPath, "utf8")); if (!dbSchema) { console.log("Schema Not Found!"); - return; + return false; } for (let i = 0; i < dbSchema.length; i++) { const database = dbSchema[i]; @@ -195,5 +195,6 @@ function createDbFromSchema(_a) { } } } + return true; }); } diff --git a/dist/package-shared/types/dsql.d.ts b/dist/package-shared/types/dsql.d.ts index 33c7a3e..5774dd1 100644 --- a/dist/package-shared/types/dsql.d.ts +++ b/dist/package-shared/types/dsql.d.ts @@ -1,4 +1,4 @@ -export declare const DsqlTables: readonly ["users", "mariadb_users", "api_keys", "invitations", "user_users", "delegated_user_tables", "user_databases", "user_database_tables", "user_media", "delegated_users", "unsubscribes", "notifications", "docs_pages", "docs_page_extra_links", "deleted_api_keys", "servers"]; +export declare const DsqlTables: readonly ["users", "mariadb_users", "api_keys", "invitations", "user_users", "delegated_user_tables", "user_databases", "user_database_tables", "user_media", "delegated_users", "unsubscribes", "notifications", "docs_pages", "docs_page_extra_links", "deleted_api_keys", "servers", "process_queue"]; export type DSQL_DATASQUIREL_USERS = { id?: number; uuid?: string; @@ -288,3 +288,22 @@ export type DSQL_DATASQUIREL_SERVERS = { date_updated_code?: number; date_updated_timestamp?: string; }; +export type DSQL_DATASQUIREL_PROCESS_QUEUE = { + id?: number; + uuid?: string; + user_id?: number; + title?: string; + job_type?: string; + data?: string; + running?: number; + server_id?: number; + error?: number; + error_message?: string; + success?: number; + date_created?: string; + date_created_code?: number; + date_created_timestamp?: string; + date_updated?: string; + date_updated_code?: number; + date_updated_timestamp?: string; +}; diff --git a/dist/package-shared/types/dsql.js b/dist/package-shared/types/dsql.js index 11f934c..c304dfd 100644 --- a/dist/package-shared/types/dsql.js +++ b/dist/package-shared/types/dsql.js @@ -18,4 +18,5 @@ exports.DsqlTables = [ "docs_page_extra_links", "deleted_api_keys", "servers", + "process_queue", ]; diff --git a/dist/package-shared/utils/backend/names/grab-dir-names.d.ts b/dist/package-shared/utils/backend/names/grab-dir-names.d.ts index 1a7cac8..66d0875 100644 --- a/dist/package-shared/utils/backend/names/grab-dir-names.d.ts +++ b/dist/package-shared/utils/backend/names/grab-dir-names.d.ts @@ -21,5 +21,6 @@ export default function grabDirNames(param?: Param): { userPrivateDbExportZipFilePath: string | undefined; userPrivateDbImportZipFileName: string; userPrivateDbImportZipFilePath: string | undefined; + dbNginxLoadBalancerConfigFile: string; }; export {}; diff --git a/dist/package-shared/utils/backend/names/grab-dir-names.js b/dist/package-shared/utils/backend/names/grab-dir-names.js index a6cff82..63f3c96 100644 --- a/dist/package-shared/utils/backend/names/grab-dir-names.js +++ b/dist/package-shared/utils/backend/names/grab-dir-names.js @@ -50,6 +50,7 @@ function grabDirNames(param) { const userPrivateDbImportZipFilePath = userPrivateSQLExportsDir ? path_1.default.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName) : undefined; + const dbNginxLoadBalancerConfigFile = path_1.default.join(appDir, "docker/mariadb/load-balancer/config/template/nginx.conf"); return { schemasDir, userDirPath, @@ -68,5 +69,6 @@ function grabDirNames(param) { userPrivateDbExportZipFilePath, userPrivateDbImportZipFileName, userPrivateDbImportZipFilePath, + dbNginxLoadBalancerConfigFile, }; } diff --git a/package-shared/functions/api/social-login/googleLogin.ts b/package-shared/functions/api/social-login/googleLogin.ts index 3b6ea82..626e22a 100644 --- a/package-shared/functions/api/social-login/googleLogin.ts +++ b/package-shared/functions/api/social-login/googleLogin.ts @@ -26,9 +26,7 @@ export default async function googleLogin({ serverRes, loginFailureReason, }: Param) { - const client = new OAuth2Client( - process.env.NEXT_PUBLIC_DSQL_GOOGLE_CLIENT_ID - ); + const client = new OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID); let isGoogleAuthValid = false; let newFoundUser = null; @@ -39,7 +37,7 @@ export default async function googleLogin({ try { const ticket = await client.verifyIdToken({ idToken: reqBody.token, - audience: process.env.NEXT_PUBLIC_DSQL_GOOGLE_CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend + audience: process.env.DSQL_GOOGLE_CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend // Or, if multiple clients access the backend: //[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3] }); diff --git a/package-shared/functions/backend/queues/add-queue.ts b/package-shared/functions/backend/queues/add-queue.ts new file mode 100644 index 0000000..76d73e2 --- /dev/null +++ b/package-shared/functions/backend/queues/add-queue.ts @@ -0,0 +1,44 @@ +import getQueue from "./get-queue"; +import { + DSQL_DATASQUIREL_PROCESS_QUEUE, + DsqlTables, +} from "../../../types/dsql"; +import dsqlCrud from "../../../utils/data-fetching/crud"; +import numberfy from "../../../utils/numberfy"; + +type Param = { + queue: DSQL_DATASQUIREL_PROCESS_QUEUE; + userId: string | number; + dummy?: boolean; +}; + +export default async function addQueue({ queue, userId, dummy }: Param) { + const tableName: (typeof DsqlTables)[number] = "process_queue"; + + const existingQueueRes = dummy + ? undefined + : ((await getQueue({ + query: { + query: { + user_id: { + value: String(userId), + }, + job_type: { + value: String(queue.job_type), + }, + }, + }, + })) as DSQL_DATASQUIREL_PROCESS_QUEUE[] | undefined); + + const existingQueue = existingQueueRes?.[0]; + + if (existingQueue?.id && !dummy) return undefined; + + const addQueueRes = await dsqlCrud({ + action: "insert", + table: tableName, + data: { ...queue, user_id: numberfy(userId) }, + }); + + return addQueueRes; +} diff --git a/package-shared/functions/backend/queues/delete-queue.ts b/package-shared/functions/backend/queues/delete-queue.ts new file mode 100644 index 0000000..5dfb47a --- /dev/null +++ b/package-shared/functions/backend/queues/delete-queue.ts @@ -0,0 +1,29 @@ +import dsqlCrud from "../../../utils/data-fetching/crud"; +import getQueue from "./get-queue"; +import { + DSQL_DATASQUIREL_PROCESS_QUEUE, + DsqlTables, +} from "../../../types/dsql"; + +type Param = { + queueId: string | number; + userId: string | number; +}; + +export default async function deleteQueue({ queueId, userId }: Param) { + const tableName: (typeof DsqlTables)[number] = "process_queue"; + + const existingQueue = (await getQueue({ userId, queueId })) as + | DSQL_DATASQUIREL_PROCESS_QUEUE + | undefined; + + if (!existingQueue?.id) return false; + + const deleteQueueRes = await dsqlCrud({ + action: "delete", + table: tableName, + targetId: existingQueue.id, + }); + + return Boolean(deleteQueueRes?.success); +} diff --git a/package-shared/functions/backend/queues/get-queue.ts b/package-shared/functions/backend/queues/get-queue.ts new file mode 100644 index 0000000..49bab35 --- /dev/null +++ b/package-shared/functions/backend/queues/get-queue.ts @@ -0,0 +1,53 @@ +import { + DSQL_DATASQUIREL_PROCESS_QUEUE, + DsqlTables, +} from "../../../types/dsql"; +import dsqlCrud from "../../../utils/data-fetching/crud"; +import { DsqlCrudQueryObject, ServerQueryQueryObject } from "../../../types"; + +type Param = { + queueId?: string | number; + userId?: string | number; + query?: DsqlCrudQueryObject; + single?: boolean; +}; + +export default async function getQueue({ + queueId, + userId, + query, + single, +}: Param) { + const tableName: (typeof DsqlTables)[number] = "process_queue"; + + let queryQuery: ServerQueryQueryObject = {}; + + if (queueId) { + queryQuery = { ...queryQuery, ...{ id: { value: String(queueId) } } }; + } + + if (userId) { + queryQuery = { + ...queryQuery, + ...{ user_id: { value: String(userId) } }, + }; + } + + const getQueue = await dsqlCrud({ + action: "get", + table: tableName, + query: { + ...query, + query: { + ...query?.query, + ...queryQuery, + }, + }, + }); + + const queuePayload = getQueue?.payload as + | DSQL_DATASQUIREL_PROCESS_QUEUE[] + | undefined; + + return queueId || single ? queuePayload?.[0] : queuePayload; +} diff --git a/package-shared/functions/backend/queues/update-queue.ts b/package-shared/functions/backend/queues/update-queue.ts new file mode 100644 index 0000000..7a37820 --- /dev/null +++ b/package-shared/functions/backend/queues/update-queue.ts @@ -0,0 +1,23 @@ +import dsqlCrud from "../../../utils/data-fetching/crud"; +import { + DSQL_DATASQUIREL_PROCESS_QUEUE, + DsqlTables, +} from "../../../types/dsql"; + +type Param = { + queueId: string | number; + queue: DSQL_DATASQUIREL_PROCESS_QUEUE; +}; + +export default async function updateQueue({ queueId, queue }: Param) { + const tableName: (typeof DsqlTables)[number] = "process_queue"; + + const updateQueueRes = await dsqlCrud({ + action: "update", + table: tableName, + targetId: queueId, + data: queue, + }); + + return Boolean(updateQueueRes?.success); +} diff --git a/package-shared/functions/dsql/sql/sql-generator.ts b/package-shared/functions/dsql/sql/sql-generator.ts index c1f3b5c..87c418a 100644 --- a/package-shared/functions/dsql/sql/sql-generator.ts +++ b/package-shared/functions/dsql/sql/sql-generator.ts @@ -26,7 +26,7 @@ export default function sqlGenerator< >({ tableName, genObject, dbFullName }: Param): Return { if (!genObject) return undefined; - const finalQuery = genObject.query ? genObject.query : undefined; + const finalQuery = genObject?.query ? genObject.query : undefined; const queryKeys = finalQuery ? Object.keys(finalQuery) : undefined; diff --git a/package-shared/shell/createDbFromSchema/index.ts b/package-shared/shell/createDbFromSchema/index.ts index 704a51a..345587e 100644 --- a/package-shared/shell/createDbFromSchema/index.ts +++ b/package-shared/shell/createDbFromSchema/index.ts @@ -26,7 +26,7 @@ export default async function createDbFromSchema({ userId, targetDatabase, dbSchemaData, -}: Param) { +}: Param): Promise { const { userSchemaMainJSONFilePath, mainShemaJSONFilePath } = grabDirNames({ userId, }); @@ -41,7 +41,7 @@ export default async function createDbFromSchema({ if (!dbSchema) { console.log("Schema Not Found!"); - return; + return false; } for (let i = 0; i < dbSchema.length; i++) { @@ -228,4 +228,6 @@ export default async function createDbFromSchema({ } } } + + return true; } diff --git a/package-shared/types/dsql.ts b/package-shared/types/dsql.ts index 91434a3..d162498 100644 --- a/package-shared/types/dsql.ts +++ b/package-shared/types/dsql.ts @@ -15,6 +15,7 @@ export const DsqlTables = [ "docs_page_extra_links", "deleted_api_keys", "servers", + "process_queue", ] as const export type DSQL_DATASQUIREL_USERS = { @@ -320,4 +321,24 @@ export type DSQL_DATASQUIREL_SERVERS = { date_updated?: string; date_updated_code?: number; date_updated_timestamp?: string; +} + +export type DSQL_DATASQUIREL_PROCESS_QUEUE = { + id?: number; + uuid?: string; + user_id?: number; + title?: string; + job_type?: string; + data?: string; + running?: number; + server_id?: number; + error?: number; + error_message?: string; + success?: number; + date_created?: string; + date_created_code?: number; + date_created_timestamp?: string; + date_updated?: string; + date_updated_code?: number; + date_updated_timestamp?: string; } \ No newline at end of file diff --git a/package-shared/utils/backend/names/grab-dir-names.ts b/package-shared/utils/backend/names/grab-dir-names.ts index 56b78e3..29e629a 100644 --- a/package-shared/utils/backend/names/grab-dir-names.ts +++ b/package-shared/utils/backend/names/grab-dir-names.ts @@ -62,6 +62,11 @@ export default function grabDirNames(param?: Param) { ? path.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName) : undefined; + const dbNginxLoadBalancerConfigFile = path.join( + appDir, + "docker/mariadb/load-balancer/config/template/nginx.conf" + ); + return { schemasDir, userDirPath, @@ -80,5 +85,6 @@ export default function grabDirNames(param?: Param) { userPrivateDbExportZipFilePath, userPrivateDbImportZipFileName, userPrivateDbImportZipFilePath, + dbNginxLoadBalancerConfigFile, }; } diff --git a/package.json b/package.json index 547c04a..1e198bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "4.1.3", + "version": "4.1.4", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {