Updates
This commit is contained in:
parent
8b3553fcd5
commit
2e0b6d0a70
@ -23,7 +23,7 @@ const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
|
|||||||
function googleLogin(_a) {
|
function googleLogin(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) {
|
return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) {
|
||||||
var _b;
|
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 isGoogleAuthValid = false;
|
||||||
let newFoundUser = null;
|
let newFoundUser = null;
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
@ -32,7 +32,7 @@ function googleLogin(_a) {
|
|||||||
try {
|
try {
|
||||||
const ticket = yield client.verifyIdToken({
|
const ticket = yield client.verifyIdToken({
|
||||||
idToken: reqBody.token,
|
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:
|
// Or, if multiple clients access the backend:
|
||||||
//[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3]
|
//[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3]
|
||||||
});
|
});
|
||||||
|
10
dist/package-shared/functions/backend/queues/add-queue.d.ts
vendored
Normal file
10
dist/package-shared/functions/backend/queues/add-queue.d.ts
vendored
Normal file
@ -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<Awaited<typeof import("../../dsql/sql/sql-generator").default>>;
|
||||||
|
}) | null | undefined>;
|
||||||
|
export {};
|
46
dist/package-shared/functions/backend/queues/add-queue.js
vendored
Normal file
46
dist/package-shared/functions/backend/queues/add-queue.js
vendored
Normal file
@ -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;
|
||||||
|
});
|
||||||
|
}
|
6
dist/package-shared/functions/backend/queues/delete-queue.d.ts
vendored
Normal file
6
dist/package-shared/functions/backend/queues/delete-queue.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
type Param = {
|
||||||
|
queueId: string | number;
|
||||||
|
userId: string | number;
|
||||||
|
};
|
||||||
|
export default function deleteQueue({ queueId, userId }: Param): Promise<boolean>;
|
||||||
|
export {};
|
31
dist/package-shared/functions/backend/queues/delete-queue.js
vendored
Normal file
31
dist/package-shared/functions/backend/queues/delete-queue.js
vendored
Normal file
@ -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);
|
||||||
|
});
|
||||||
|
}
|
10
dist/package-shared/functions/backend/queues/get-queue.d.ts
vendored
Normal file
10
dist/package-shared/functions/backend/queues/get-queue.d.ts
vendored
Normal file
@ -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<DSQL_DATASQUIREL_PROCESS_QUEUE>;
|
||||||
|
single?: boolean;
|
||||||
|
};
|
||||||
|
export default function getQueue({ queueId, userId, query, single, }: Param): Promise<DSQL_DATASQUIREL_PROCESS_QUEUE | DSQL_DATASQUIREL_PROCESS_QUEUE[] | undefined>;
|
||||||
|
export {};
|
35
dist/package-shared/functions/backend/queues/get-queue.js
vendored
Normal file
35
dist/package-shared/functions/backend/queues/get-queue.js
vendored
Normal file
@ -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;
|
||||||
|
});
|
||||||
|
}
|
7
dist/package-shared/functions/backend/queues/update-queue.d.ts
vendored
Normal file
7
dist/package-shared/functions/backend/queues/update-queue.d.ts
vendored
Normal file
@ -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<boolean>;
|
||||||
|
export {};
|
28
dist/package-shared/functions/backend/queues/update-queue.js
vendored
Normal file
28
dist/package-shared/functions/backend/queues/update-queue.js
vendored
Normal file
@ -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);
|
||||||
|
});
|
||||||
|
}
|
@ -8,7 +8,7 @@ exports.default = sqlGenerator;
|
|||||||
function sqlGenerator({ tableName, genObject, dbFullName }) {
|
function sqlGenerator({ tableName, genObject, dbFullName }) {
|
||||||
if (!genObject)
|
if (!genObject)
|
||||||
return undefined;
|
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 queryKeys = finalQuery ? Object.keys(finalQuery) : undefined;
|
||||||
const sqlSearhValues = [];
|
const sqlSearhValues = [];
|
||||||
const finalDbName = dbFullName ? `${dbFullName}.` : "";
|
const finalDbName = dbFullName ? `${dbFullName}.` : "";
|
||||||
|
@ -7,5 +7,5 @@ type Param = {
|
|||||||
* # Create database from Schema Function
|
* # Create database from Schema Function
|
||||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||||
*/
|
*/
|
||||||
export default function createDbFromSchema({ userId, targetDatabase, dbSchemaData, }: Param): Promise<void>;
|
export default function createDbFromSchema({ userId, targetDatabase, dbSchemaData, }: Param): Promise<boolean>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -39,7 +39,7 @@ function createDbFromSchema(_a) {
|
|||||||
ejson_1.default.parse(fs_1.default.readFileSync(schemaPath, "utf8"));
|
ejson_1.default.parse(fs_1.default.readFileSync(schemaPath, "utf8"));
|
||||||
if (!dbSchema) {
|
if (!dbSchema) {
|
||||||
console.log("Schema Not Found!");
|
console.log("Schema Not Found!");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
for (let i = 0; i < dbSchema.length; i++) {
|
for (let i = 0; i < dbSchema.length; i++) {
|
||||||
const database = dbSchema[i];
|
const database = dbSchema[i];
|
||||||
@ -195,5 +195,6 @@ function createDbFromSchema(_a) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
21
dist/package-shared/types/dsql.d.ts
vendored
21
dist/package-shared/types/dsql.d.ts
vendored
@ -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 = {
|
export type DSQL_DATASQUIREL_USERS = {
|
||||||
id?: number;
|
id?: number;
|
||||||
uuid?: string;
|
uuid?: string;
|
||||||
@ -288,3 +288,22 @@ export type DSQL_DATASQUIREL_SERVERS = {
|
|||||||
date_updated_code?: number;
|
date_updated_code?: number;
|
||||||
date_updated_timestamp?: string;
|
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;
|
||||||
|
};
|
||||||
|
1
dist/package-shared/types/dsql.js
vendored
1
dist/package-shared/types/dsql.js
vendored
@ -18,4 +18,5 @@ exports.DsqlTables = [
|
|||||||
"docs_page_extra_links",
|
"docs_page_extra_links",
|
||||||
"deleted_api_keys",
|
"deleted_api_keys",
|
||||||
"servers",
|
"servers",
|
||||||
|
"process_queue",
|
||||||
];
|
];
|
||||||
|
@ -21,5 +21,6 @@ export default function grabDirNames(param?: Param): {
|
|||||||
userPrivateDbExportZipFilePath: string | undefined;
|
userPrivateDbExportZipFilePath: string | undefined;
|
||||||
userPrivateDbImportZipFileName: string;
|
userPrivateDbImportZipFileName: string;
|
||||||
userPrivateDbImportZipFilePath: string | undefined;
|
userPrivateDbImportZipFilePath: string | undefined;
|
||||||
|
dbNginxLoadBalancerConfigFile: string;
|
||||||
};
|
};
|
||||||
export {};
|
export {};
|
||||||
|
@ -50,6 +50,7 @@ function grabDirNames(param) {
|
|||||||
const userPrivateDbImportZipFilePath = userPrivateSQLExportsDir
|
const userPrivateDbImportZipFilePath = userPrivateSQLExportsDir
|
||||||
? path_1.default.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName)
|
? path_1.default.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName)
|
||||||
: undefined;
|
: undefined;
|
||||||
|
const dbNginxLoadBalancerConfigFile = path_1.default.join(appDir, "docker/mariadb/load-balancer/config/template/nginx.conf");
|
||||||
return {
|
return {
|
||||||
schemasDir,
|
schemasDir,
|
||||||
userDirPath,
|
userDirPath,
|
||||||
@ -68,5 +69,6 @@ function grabDirNames(param) {
|
|||||||
userPrivateDbExportZipFilePath,
|
userPrivateDbExportZipFilePath,
|
||||||
userPrivateDbImportZipFileName,
|
userPrivateDbImportZipFileName,
|
||||||
userPrivateDbImportZipFilePath,
|
userPrivateDbImportZipFilePath,
|
||||||
|
dbNginxLoadBalancerConfigFile,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -26,9 +26,7 @@ export default async function googleLogin({
|
|||||||
serverRes,
|
serverRes,
|
||||||
loginFailureReason,
|
loginFailureReason,
|
||||||
}: Param) {
|
}: Param) {
|
||||||
const client = new OAuth2Client(
|
const client = new OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID);
|
||||||
process.env.NEXT_PUBLIC_DSQL_GOOGLE_CLIENT_ID
|
|
||||||
);
|
|
||||||
let isGoogleAuthValid = false;
|
let isGoogleAuthValid = false;
|
||||||
let newFoundUser = null;
|
let newFoundUser = null;
|
||||||
|
|
||||||
@ -39,7 +37,7 @@ export default async function googleLogin({
|
|||||||
try {
|
try {
|
||||||
const ticket = await client.verifyIdToken({
|
const ticket = await client.verifyIdToken({
|
||||||
idToken: reqBody.token,
|
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:
|
// Or, if multiple clients access the backend:
|
||||||
//[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3]
|
//[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3]
|
||||||
});
|
});
|
||||||
|
44
package-shared/functions/backend/queues/add-queue.ts
Normal file
44
package-shared/functions/backend/queues/add-queue.ts
Normal file
@ -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<DSQL_DATASQUIREL_PROCESS_QUEUE>({
|
||||||
|
action: "insert",
|
||||||
|
table: tableName,
|
||||||
|
data: { ...queue, user_id: numberfy(userId) },
|
||||||
|
});
|
||||||
|
|
||||||
|
return addQueueRes;
|
||||||
|
}
|
29
package-shared/functions/backend/queues/delete-queue.ts
Normal file
29
package-shared/functions/backend/queues/delete-queue.ts
Normal file
@ -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<DSQL_DATASQUIREL_PROCESS_QUEUE>({
|
||||||
|
action: "delete",
|
||||||
|
table: tableName,
|
||||||
|
targetId: existingQueue.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
return Boolean(deleteQueueRes?.success);
|
||||||
|
}
|
53
package-shared/functions/backend/queues/get-queue.ts
Normal file
53
package-shared/functions/backend/queues/get-queue.ts
Normal file
@ -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<DSQL_DATASQUIREL_PROCESS_QUEUE>;
|
||||||
|
single?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default async function getQueue({
|
||||||
|
queueId,
|
||||||
|
userId,
|
||||||
|
query,
|
||||||
|
single,
|
||||||
|
}: Param) {
|
||||||
|
const tableName: (typeof DsqlTables)[number] = "process_queue";
|
||||||
|
|
||||||
|
let queryQuery: ServerQueryQueryObject<DSQL_DATASQUIREL_PROCESS_QUEUE> = {};
|
||||||
|
|
||||||
|
if (queueId) {
|
||||||
|
queryQuery = { ...queryQuery, ...{ id: { value: String(queueId) } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userId) {
|
||||||
|
queryQuery = {
|
||||||
|
...queryQuery,
|
||||||
|
...{ user_id: { value: String(userId) } },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const getQueue = await dsqlCrud<DSQL_DATASQUIREL_PROCESS_QUEUE>({
|
||||||
|
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;
|
||||||
|
}
|
23
package-shared/functions/backend/queues/update-queue.ts
Normal file
23
package-shared/functions/backend/queues/update-queue.ts
Normal file
@ -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<DSQL_DATASQUIREL_PROCESS_QUEUE>({
|
||||||
|
action: "update",
|
||||||
|
table: tableName,
|
||||||
|
targetId: queueId,
|
||||||
|
data: queue,
|
||||||
|
});
|
||||||
|
|
||||||
|
return Boolean(updateQueueRes?.success);
|
||||||
|
}
|
@ -26,7 +26,7 @@ export default function sqlGenerator<
|
|||||||
>({ tableName, genObject, dbFullName }: Param<T>): Return {
|
>({ tableName, genObject, dbFullName }: Param<T>): Return {
|
||||||
if (!genObject) return undefined;
|
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;
|
const queryKeys = finalQuery ? Object.keys(finalQuery) : undefined;
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ export default async function createDbFromSchema({
|
|||||||
userId,
|
userId,
|
||||||
targetDatabase,
|
targetDatabase,
|
||||||
dbSchemaData,
|
dbSchemaData,
|
||||||
}: Param) {
|
}: Param): Promise<boolean> {
|
||||||
const { userSchemaMainJSONFilePath, mainShemaJSONFilePath } = grabDirNames({
|
const { userSchemaMainJSONFilePath, mainShemaJSONFilePath } = grabDirNames({
|
||||||
userId,
|
userId,
|
||||||
});
|
});
|
||||||
@ -41,7 +41,7 @@ export default async function createDbFromSchema({
|
|||||||
|
|
||||||
if (!dbSchema) {
|
if (!dbSchema) {
|
||||||
console.log("Schema Not Found!");
|
console.log("Schema Not Found!");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < dbSchema.length; i++) {
|
for (let i = 0; i < dbSchema.length; i++) {
|
||||||
@ -228,4 +228,6 @@ export default async function createDbFromSchema({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ export const DsqlTables = [
|
|||||||
"docs_page_extra_links",
|
"docs_page_extra_links",
|
||||||
"deleted_api_keys",
|
"deleted_api_keys",
|
||||||
"servers",
|
"servers",
|
||||||
|
"process_queue",
|
||||||
] as const
|
] as const
|
||||||
|
|
||||||
export type DSQL_DATASQUIREL_USERS = {
|
export type DSQL_DATASQUIREL_USERS = {
|
||||||
@ -321,3 +322,23 @@ export type DSQL_DATASQUIREL_SERVERS = {
|
|||||||
date_updated_code?: number;
|
date_updated_code?: number;
|
||||||
date_updated_timestamp?: string;
|
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;
|
||||||
|
}
|
@ -62,6 +62,11 @@ export default function grabDirNames(param?: Param) {
|
|||||||
? path.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName)
|
? path.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName)
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
|
const dbNginxLoadBalancerConfigFile = path.join(
|
||||||
|
appDir,
|
||||||
|
"docker/mariadb/load-balancer/config/template/nginx.conf"
|
||||||
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
schemasDir,
|
schemasDir,
|
||||||
userDirPath,
|
userDirPath,
|
||||||
@ -80,5 +85,6 @@ export default function grabDirNames(param?: Param) {
|
|||||||
userPrivateDbExportZipFilePath,
|
userPrivateDbExportZipFilePath,
|
||||||
userPrivateDbImportZipFileName,
|
userPrivateDbImportZipFileName,
|
||||||
userPrivateDbImportZipFilePath,
|
userPrivateDbImportZipFilePath,
|
||||||
|
dbNginxLoadBalancerConfigFile,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/datasquirel",
|
"name": "@moduletrace/datasquirel",
|
||||||
"version": "4.1.3",
|
"version": "4.1.4",
|
||||||
"description": "Cloud-based SQL data management tool",
|
"description": "Cloud-based SQL data management tool",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
Loading…
Reference in New Issue
Block a user