Updates
This commit is contained in:
parent
9f773de1a1
commit
1db9c3a2e7
2
dist/index.d.ts
vendored
2
dist/index.d.ts
vendored
@ -8,7 +8,7 @@ declare global {
|
|||||||
/**
|
/**
|
||||||
* Imports
|
* Imports
|
||||||
*/
|
*/
|
||||||
import get from "./utils/get/index";
|
import get from "./utils/get";
|
||||||
import post from "./utils/post";
|
import post from "./utils/post";
|
||||||
import getSchema from "./utils/get-schema";
|
import getSchema from "./utils/get-schema";
|
||||||
import uploadImage from "./utils/upload-image";
|
import uploadImage from "./utils/upload-image";
|
||||||
|
4
dist/index.js
vendored
4
dist/index.js
vendored
@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
/**
|
/**
|
||||||
* Imports
|
* Imports
|
||||||
*/
|
*/
|
||||||
const index_1 = __importDefault(require("./utils/get/index"));
|
const get_1 = __importDefault(require("./utils/get"));
|
||||||
const post_1 = __importDefault(require("./utils/post"));
|
const post_1 = __importDefault(require("./utils/post"));
|
||||||
const get_schema_1 = __importDefault(require("./utils/get-schema"));
|
const get_schema_1 = __importDefault(require("./utils/get-schema"));
|
||||||
const upload_image_1 = __importDefault(require("./utils/upload-image"));
|
const upload_image_1 = __importDefault(require("./utils/upload-image"));
|
||||||
@ -82,7 +82,7 @@ const sql = {
|
|||||||
* Main Export
|
* Main Export
|
||||||
*/
|
*/
|
||||||
const datasquirel = {
|
const datasquirel = {
|
||||||
get: index_1.default,
|
get: get_1.default,
|
||||||
post: post_1.default,
|
post: post_1.default,
|
||||||
media,
|
media,
|
||||||
user,
|
user,
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { DbContextsArray } from "../../backend/db/runQuery";
|
||||||
import { ServerQueryParam } from "../../../types";
|
import { ServerQueryParam } from "../../../types";
|
||||||
type Param = {
|
type Param = {
|
||||||
query: string | {
|
query: string | {
|
||||||
@ -9,9 +10,10 @@ type Param = {
|
|||||||
tableName?: string;
|
tableName?: string;
|
||||||
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
|
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
|
||||||
debug?: boolean;
|
debug?: boolean;
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* # Get Function FOr API
|
* # Get Function FOr API
|
||||||
*/
|
*/
|
||||||
export default function apiGet({ query, dbFullName, queryValues, tableName, dbSchema, debug, }: Param): Promise<import("../../../types").GetReturn>;
|
export default function apiGet({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, }: Param): Promise<import("../../../types").GetReturn>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -17,12 +17,12 @@ exports.default = apiGet;
|
|||||||
const lodash_1 = __importDefault(require("lodash"));
|
const lodash_1 = __importDefault(require("lodash"));
|
||||||
const serverError_1 = __importDefault(require("../../backend/serverError"));
|
const serverError_1 = __importDefault(require("../../backend/serverError"));
|
||||||
const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
|
const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
|
||||||
const grab_query_and_values_1 = __importDefault(require("../../../../utils/get/(utils)/grab-query-and-values"));
|
const grab_query_and_values_1 = __importDefault(require("../../../utils/grab-query-and-values"));
|
||||||
/**
|
/**
|
||||||
* # Get Function FOr API
|
* # Get Function FOr API
|
||||||
*/
|
*/
|
||||||
function apiGet(_a) {
|
function apiGet(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, debug, }) {
|
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, }) {
|
||||||
const queryAndValues = (0, grab_query_and_values_1.default)({
|
const queryAndValues = (0, grab_query_and_values_1.default)({
|
||||||
query,
|
query,
|
||||||
values: queryValues,
|
values: queryValues,
|
||||||
@ -40,6 +40,8 @@ function apiGet(_a) {
|
|||||||
readOnly: true,
|
readOnly: true,
|
||||||
dbSchema,
|
dbSchema,
|
||||||
tableName,
|
tableName,
|
||||||
|
dbContext,
|
||||||
|
debug,
|
||||||
});
|
});
|
||||||
if (debug && global.DSQL_USE_LOCAL) {
|
if (debug && global.DSQL_USE_LOCAL) {
|
||||||
console.log("apiGet:result", result);
|
console.log("apiGet:result", result);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { DbContextsArray } from "../../backend/db/runQuery";
|
||||||
import { DSQL_DatabaseSchemaType, PostReturn } from "../../../types";
|
import { DSQL_DatabaseSchemaType, PostReturn } from "../../../types";
|
||||||
type Param = {
|
type Param = {
|
||||||
query: any;
|
query: any;
|
||||||
@ -5,9 +6,10 @@ type Param = {
|
|||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
tableName?: string;
|
tableName?: string;
|
||||||
dbSchema?: DSQL_DatabaseSchemaType;
|
dbSchema?: DSQL_DatabaseSchemaType;
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* # Post Function For API
|
* # Post Function For API
|
||||||
*/
|
*/
|
||||||
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, }: Param): Promise<PostReturn>;
|
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, }: Param): Promise<PostReturn>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -20,7 +20,7 @@ const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
|
|||||||
* # Post Function For API
|
* # Post Function For API
|
||||||
*/
|
*/
|
||||||
function apiPost(_a) {
|
function apiPost(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, }) {
|
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, }) {
|
||||||
var _b;
|
var _b;
|
||||||
if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) {
|
if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) {
|
||||||
return { success: false, msg: "Wrong Input" };
|
return { success: false, msg: "Wrong Input" };
|
||||||
@ -43,6 +43,7 @@ function apiPost(_a) {
|
|||||||
dbSchema: dbSchema,
|
dbSchema: dbSchema,
|
||||||
queryValuesArray: queryValues,
|
queryValuesArray: queryValues,
|
||||||
tableName,
|
tableName,
|
||||||
|
dbContext,
|
||||||
});
|
});
|
||||||
results = result;
|
results = result;
|
||||||
if (error)
|
if (error)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
import { DbContextsArray } from "./runQuery";
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: "Master" | "Dsql User";
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
paradigm?: "Read Only" | "Full Access";
|
||||||
dbFullName?: string;
|
dbFullName?: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
// @ts-check
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@ -17,10 +16,9 @@ exports.default = addDbEntry;
|
|||||||
const sanitize_html_1 = __importDefault(require("sanitize-html"));
|
const sanitize_html_1 = __importDefault(require("sanitize-html"));
|
||||||
const sanitizeHtmlOptions_1 = __importDefault(require("../html/sanitizeHtmlOptions"));
|
const sanitizeHtmlOptions_1 = __importDefault(require("../html/sanitizeHtmlOptions"));
|
||||||
const updateDbEntry_1 = __importDefault(require("./updateDbEntry"));
|
const updateDbEntry_1 = __importDefault(require("./updateDbEntry"));
|
||||||
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
|
|
||||||
const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DSQL_USER_DB_HANDLER"));
|
|
||||||
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
|
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
|
||||||
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/LOCAL_DB_HANDLER"));
|
const conn_db_handler_1 = __importDefault(require("../../../utils/db/conn-db-handler"));
|
||||||
|
const check_if_is_master_1 = __importDefault(require("../../../utils/check-if-is-master"));
|
||||||
/**
|
/**
|
||||||
* Add a db Entry Function
|
* Add a db Entry Function
|
||||||
*/
|
*/
|
||||||
@ -30,19 +28,13 @@ function addDbEntry(_a) {
|
|||||||
/**
|
/**
|
||||||
* Initialize variables
|
* Initialize variables
|
||||||
*/
|
*/
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = (0, check_if_is_master_1.default)({ dbContext, dbFullName });
|
||||||
? true
|
const DB_CONN = isMaster
|
||||||
: (dbContext === null || dbContext === void 0 ? void 0 : dbContext.match(/dsql.user/i))
|
? global.DSQL_DB_CONN
|
||||||
? false
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
const DB_RO_CONN = isMaster
|
||||||
? false
|
? global.DSQL_DB_CONN
|
||||||
: true;
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
/** @type { any } */
|
|
||||||
const dbHandler = global.DSQL_USE_LOCAL
|
|
||||||
? LOCAL_DB_HANDLER_1.default
|
|
||||||
: isMaster
|
|
||||||
? DB_HANDLER_1.default
|
|
||||||
: DSQL_USER_DB_HANDLER_1.default;
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
@ -61,24 +53,15 @@ function addDbEntry(_a) {
|
|||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
/**
|
|
||||||
* Handle function logic
|
|
||||||
*/
|
|
||||||
if (duplicateColumnName && typeof duplicateColumnName === "string") {
|
if (duplicateColumnName && typeof duplicateColumnName === "string") {
|
||||||
const duplicateValue = isMaster
|
const checkDuplicateQuery = `SELECT * FROM ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`;
|
||||||
? yield dbHandler(`SELECT * FROM \`${tableName}\` WHERE \`${duplicateColumnName}\`=?`, [duplicateColumnValue])
|
const duplicateValue = yield (0, conn_db_handler_1.default)(DB_RO_CONN, checkDuplicateQuery, [duplicateColumnValue]);
|
||||||
: yield dbHandler({
|
|
||||||
paradigm: "Read Only",
|
|
||||||
queryString: `SELECT * FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`,
|
|
||||||
queryValues: [duplicateColumnValue],
|
|
||||||
});
|
|
||||||
if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) {
|
if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else if (duplicateValue && duplicateValue[0] && update) {
|
else if (duplicateValue && duplicateValue[0] && update) {
|
||||||
return yield (0, updateDbEntry_1.default)({
|
return yield (0, updateDbEntry_1.default)({
|
||||||
dbContext,
|
dbContext,
|
||||||
paradigm,
|
|
||||||
dbFullName,
|
dbFullName,
|
||||||
tableName,
|
tableName,
|
||||||
data,
|
data,
|
||||||
@ -145,7 +128,7 @@ function addDbEntry(_a) {
|
|||||||
insertValuesArray.push(value);
|
insertValuesArray.push(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch ( /** @type {any} */error) {
|
catch (error) {
|
||||||
console.log("DSQL: Error in parsing data keys =>", error.message);
|
console.log("DSQL: Error in parsing data keys =>", error.message);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -169,15 +152,11 @@ function addDbEntry(_a) {
|
|||||||
insertValuesArray.push(Date.now());
|
insertValuesArray.push(Date.now());
|
||||||
}
|
}
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
const query = `INSERT INTO \`${dbFullName}\`.\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray.map(() => "?").join(",")})`;
|
const query = `INSERT INTO ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray
|
||||||
|
.map(() => "?")
|
||||||
|
.join(",")})`;
|
||||||
const queryValuesArray = insertValuesArray;
|
const queryValuesArray = insertValuesArray;
|
||||||
const newInsert = isMaster
|
const newInsert = yield (0, conn_db_handler_1.default)(DB_CONN, query, queryValuesArray);
|
||||||
? yield dbHandler(query, queryValuesArray)
|
|
||||||
: yield dbHandler({
|
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
*/
|
*/
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
import { DbContextsArray } from "./runQuery";
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: string;
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
|
||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
tableSchema?: import("../../../types").DSQL_TableSchemaType;
|
tableSchema?: import("../../../types").DSQL_TableSchemaType;
|
||||||
@ -11,5 +11,5 @@ type Param = {
|
|||||||
* # Delete DB Entry Function
|
* # Delete DB Entry Function
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
export default function deleteDbEntry({ dbContext, paradigm, dbFullName, tableName, identifierColumnName, identifierValue, }: Param): Promise<object | null>;
|
export default function deleteDbEntry({ dbContext, dbFullName, tableName, identifierColumnName, identifierValue, }: Param): Promise<object | null>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -13,41 +13,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.default = deleteDbEntry;
|
exports.default = deleteDbEntry;
|
||||||
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
|
const check_if_is_master_1 = __importDefault(require("../../../utils/check-if-is-master"));
|
||||||
const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DSQL_USER_DB_HANDLER"));
|
const conn_db_handler_1 = __importDefault(require("../../../utils/db/conn-db-handler"));
|
||||||
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/LOCAL_DB_HANDLER"));
|
|
||||||
/**
|
/**
|
||||||
* # Delete DB Entry Function
|
* # Delete DB Entry Function
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
function deleteDbEntry(_a) {
|
function deleteDbEntry(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ dbContext, paradigm, dbFullName, tableName, identifierColumnName, identifierValue, }) {
|
return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, identifierColumnName, identifierValue, }) {
|
||||||
try {
|
try {
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = (0, check_if_is_master_1.default)({ dbContext, dbFullName });
|
||||||
? true
|
const DB_CONN = isMaster
|
||||||
: (dbContext === null || dbContext === void 0 ? void 0 : dbContext.match(/dsql.user/i))
|
? global.DSQL_DB_CONN
|
||||||
? false
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
const DB_RO_CONN = isMaster
|
||||||
? false
|
? global.DSQL_DB_CONN
|
||||||
: true;
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
const dbHandler = global.DSQL_USE_LOCAL
|
|
||||||
? LOCAL_DB_HANDLER_1.default
|
|
||||||
: isMaster
|
|
||||||
? DB_HANDLER_1.default
|
|
||||||
: DSQL_USER_DB_HANDLER_1.default;
|
|
||||||
/**
|
/**
|
||||||
* Execution
|
* Execution
|
||||||
*
|
*
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
const query = `DELETE FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${identifierColumnName}\`=?`;
|
const query = `DELETE FROM ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${identifierColumnName}\`=?`;
|
||||||
const deletedEntry = isMaster
|
const deletedEntry = yield (0, conn_db_handler_1.default)(DB_CONN, query, [
|
||||||
? yield dbHandler(query, [identifierValue])
|
identifierValue,
|
||||||
: yield dbHandler({
|
]);
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: [identifierValue],
|
|
||||||
});
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
*/
|
*/
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
export declare const DbContextsArray: readonly ["Master", "Dsql User"];
|
||||||
type Param = {
|
type Param = {
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
query: string | any;
|
query: string | any;
|
||||||
readOnly?: boolean;
|
readOnly?: boolean;
|
||||||
@ -10,5 +12,5 @@ type Param = {
|
|||||||
/**
|
/**
|
||||||
* # Run DSQL users queries
|
* # Run DSQL users queries
|
||||||
*/
|
*/
|
||||||
export default function runQuery({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, }: Param): Promise<any>;
|
export default function runQuery({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, }: Param): Promise<any>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.DbContextsArray = void 0;
|
||||||
exports.default = runQuery;
|
exports.default = runQuery;
|
||||||
const fullAccessDbHandler_1 = __importDefault(require("../fullAccessDbHandler"));
|
const fullAccessDbHandler_1 = __importDefault(require("../fullAccessDbHandler"));
|
||||||
const varReadOnlyDatabaseDbHandler_1 = __importDefault(require("../varReadOnlyDatabaseDbHandler"));
|
const varReadOnlyDatabaseDbHandler_1 = __importDefault(require("../varReadOnlyDatabaseDbHandler"));
|
||||||
@ -20,11 +21,12 @@ const addDbEntry_1 = __importDefault(require("./addDbEntry"));
|
|||||||
const updateDbEntry_1 = __importDefault(require("./updateDbEntry"));
|
const updateDbEntry_1 = __importDefault(require("./updateDbEntry"));
|
||||||
const deleteDbEntry_1 = __importDefault(require("./deleteDbEntry"));
|
const deleteDbEntry_1 = __importDefault(require("./deleteDbEntry"));
|
||||||
const trim_sql_1 = __importDefault(require("../../../utils/trim-sql"));
|
const trim_sql_1 = __importDefault(require("../../../utils/trim-sql"));
|
||||||
|
exports.DbContextsArray = ["Master", "Dsql User"];
|
||||||
/**
|
/**
|
||||||
* # Run DSQL users queries
|
* # Run DSQL users queries
|
||||||
*/
|
*/
|
||||||
function runQuery(_a) {
|
function runQuery(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, }) {
|
return __awaiter(this, arguments, void 0, function* ({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, }) {
|
||||||
/**
|
/**
|
||||||
* Declare variables
|
* Declare variables
|
||||||
*
|
*
|
||||||
@ -95,10 +97,7 @@ function runQuery(_a) {
|
|||||||
switch (action.toLowerCase()) {
|
switch (action.toLowerCase()) {
|
||||||
case "insert":
|
case "insert":
|
||||||
result = yield (0, addDbEntry_1.default)({
|
result = yield (0, addDbEntry_1.default)({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
data: data,
|
data: data,
|
||||||
@ -113,10 +112,7 @@ function runQuery(_a) {
|
|||||||
break;
|
break;
|
||||||
case "update":
|
case "update":
|
||||||
result = yield (0, updateDbEntry_1.default)({
|
result = yield (0, updateDbEntry_1.default)({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
data: data,
|
data: data,
|
||||||
@ -127,10 +123,7 @@ function runQuery(_a) {
|
|||||||
break;
|
break;
|
||||||
case "delete":
|
case "delete":
|
||||||
result = yield (0, deleteDbEntry_1.default)({
|
result = yield (0, deleteDbEntry_1.default)({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
identifierColumnName,
|
identifierColumnName,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
import { DbContextsArray } from "./runQuery";
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: "Master" | "Dsql User";
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
|
||||||
dbFullName?: string;
|
dbFullName?: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
encryptionKey?: string;
|
encryptionKey?: string;
|
||||||
@ -14,5 +14,5 @@ type Param = {
|
|||||||
* # Update DB Function
|
* # Update DB Function
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
export default function updateDbEntry({ dbContext, paradigm, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, }: Param): Promise<object | null>;
|
export default function updateDbEntry({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, }: Param): Promise<object | null>;
|
||||||
export {};
|
export {};
|
||||||
|
@ -15,35 +15,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
exports.default = updateDbEntry;
|
exports.default = updateDbEntry;
|
||||||
const sanitize_html_1 = __importDefault(require("sanitize-html"));
|
const sanitize_html_1 = __importDefault(require("sanitize-html"));
|
||||||
const sanitizeHtmlOptions_1 = __importDefault(require("../html/sanitizeHtmlOptions"));
|
const sanitizeHtmlOptions_1 = __importDefault(require("../html/sanitizeHtmlOptions"));
|
||||||
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
|
|
||||||
const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DSQL_USER_DB_HANDLER"));
|
|
||||||
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
|
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
|
||||||
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/LOCAL_DB_HANDLER"));
|
const check_if_is_master_1 = __importDefault(require("../../../utils/check-if-is-master"));
|
||||||
|
const conn_db_handler_1 = __importDefault(require("../../../utils/db/conn-db-handler"));
|
||||||
/**
|
/**
|
||||||
* # Update DB Function
|
* # Update DB Function
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
function updateDbEntry(_a) {
|
function updateDbEntry(_a) {
|
||||||
return __awaiter(this, arguments, void 0, function* ({ dbContext, paradigm, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, }) {
|
return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, }) {
|
||||||
var _b;
|
var _b;
|
||||||
/**
|
/**
|
||||||
* Check if data is valid
|
* Check if data is valid
|
||||||
*/
|
*/
|
||||||
if (!data || !Object.keys(data).length)
|
if (!data || !Object.keys(data).length)
|
||||||
return null;
|
return null;
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = (0, check_if_is_master_1.default)({ dbContext, dbFullName });
|
||||||
? true
|
const DB_CONN = isMaster
|
||||||
: (dbContext === null || dbContext === void 0 ? void 0 : dbContext.match(/dsql.user/i))
|
? global.DSQL_DB_CONN
|
||||||
? false
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
const DB_RO_CONN = isMaster
|
||||||
? false
|
? global.DSQL_DB_CONN
|
||||||
: true;
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
/** @type {(a1:any, a2?:any)=> any } */
|
|
||||||
const dbHandler = global.DSQL_USE_LOCAL
|
|
||||||
? LOCAL_DB_HANDLER_1.default
|
|
||||||
: isMaster
|
|
||||||
? DB_HANDLER_1.default
|
|
||||||
: DSQL_USER_DB_HANDLER_1.default;
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
@ -126,15 +119,9 @@ function updateDbEntry(_a) {
|
|||||||
updateKeyValueArray.push(`date_updated_code='${Date.now()}'`);
|
updateKeyValueArray.push(`date_updated_code='${Date.now()}'`);
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
const query = `UPDATE \`${dbFullName}\`.\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
|
const query = `UPDATE ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
|
||||||
updateValues.push(identifierValue);
|
updateValues.push(identifierValue);
|
||||||
const updatedEntry = isMaster
|
const updatedEntry = yield (0, conn_db_handler_1.default)(DB_CONN, query, updateValues);
|
||||||
? yield dbHandler(query, updateValues)
|
|
||||||
: yield dbHandler({
|
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: updateValues,
|
|
||||||
});
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
// @ts-check
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@ -14,8 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.default = fullAccessDbHandler;
|
exports.default = fullAccessDbHandler;
|
||||||
const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DSQL_USER_DB_HANDLER"));
|
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
|
||||||
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER"));
|
|
||||||
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
|
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
|
||||||
const serverError_1 = __importDefault(require("./serverError"));
|
const serverError_1 = __importDefault(require("./serverError"));
|
||||||
/**
|
/**
|
||||||
@ -29,23 +27,17 @@ function fullAccessDbHandler(_a) {
|
|||||||
* @description Declare "results" variable
|
* @description Declare "results" variable
|
||||||
*/
|
*/
|
||||||
let results;
|
let results;
|
||||||
|
const DB_CONN = global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
/**
|
/**
|
||||||
* Fetch from db
|
* Fetch from db
|
||||||
*
|
*
|
||||||
* @description Fetch data from db if no cache
|
* @description Fetch data from db if no cache
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
/** ********************* Run Query */
|
results = yield (0, conn_db_handler_1.default)(DB_CONN, queryString, queryValuesArray);
|
||||||
results = global.DSQL_USE_LOCAL
|
|
||||||
? yield (0, LOCAL_DB_HANDLER_1.default)(queryString, queryValuesArray)
|
|
||||||
: yield (0, DSQL_USER_DB_HANDLER_1.default)({
|
|
||||||
paradigm: "Full Access",
|
|
||||||
queryString,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
}
|
}
|
||||||
catch ( /** @type {any} */error) {
|
catch (error) {
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
(0, serverError_1.default)({
|
(0, serverError_1.default)({
|
||||||
component: "fullAccessDbHandler",
|
component: "fullAccessDbHandler",
|
||||||
@ -56,6 +48,9 @@ function fullAccessDbHandler(_a) {
|
|||||||
*/
|
*/
|
||||||
return error.message;
|
return error.message;
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
DB_CONN === null || DB_CONN === void 0 ? void 0 : DB_CONN.end();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Return results
|
* Return results
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
// @ts-check
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@ -16,8 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
exports.default = varReadOnlyDatabaseDbHandler;
|
exports.default = varReadOnlyDatabaseDbHandler;
|
||||||
const serverError_1 = __importDefault(require("./serverError"));
|
const serverError_1 = __importDefault(require("./serverError"));
|
||||||
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
|
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
|
||||||
const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DSQL_USER_DB_HANDLER"));
|
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
|
||||||
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER"));
|
|
||||||
/**
|
/**
|
||||||
* # Read Only Db Handler with Varaibles
|
* # Read Only Db Handler with Varaibles
|
||||||
* @returns
|
* @returns
|
||||||
@ -30,22 +28,17 @@ function varReadOnlyDatabaseDbHandler(_a) {
|
|||||||
* @description Declare "results" variable
|
* @description Declare "results" variable
|
||||||
*/
|
*/
|
||||||
let results;
|
let results;
|
||||||
|
const DB_CONN = global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
/**
|
/**
|
||||||
* Fetch from db
|
* Fetch from db
|
||||||
*
|
*
|
||||||
* @description Fetch data from db if no cache
|
* @description Fetch data from db if no cache
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
results = global.DSQL_USE_LOCAL
|
results = yield (0, conn_db_handler_1.default)(DB_CONN, queryString, queryValuesArray);
|
||||||
? yield (0, LOCAL_DB_HANDLER_1.default)(queryString, queryValuesArray)
|
|
||||||
: yield (0, DSQL_USER_DB_HANDLER_1.default)({
|
|
||||||
paradigm: "Read Only",
|
|
||||||
queryString,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
}
|
}
|
||||||
catch ( /** @type {any} */error) {
|
catch (error) {
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
(0, serverError_1.default)({
|
(0, serverError_1.default)({
|
||||||
component: "varReadOnlyDatabaseDbHandler",
|
component: "varReadOnlyDatabaseDbHandler",
|
||||||
@ -57,6 +50,9 @@ function varReadOnlyDatabaseDbHandler(_a) {
|
|||||||
*/
|
*/
|
||||||
return error.message;
|
return error.message;
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
DB_CONN === null || DB_CONN === void 0 ? void 0 : DB_CONN.end();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Return results
|
* Return results
|
||||||
*
|
*
|
||||||
|
9
dist/package-shared/types/index.d.ts
vendored
9
dist/package-shared/types/index.d.ts
vendored
@ -1256,4 +1256,13 @@ export type HttpFunctionResponse<ResObj extends {
|
|||||||
str?: string;
|
str?: string;
|
||||||
requestedPath?: string;
|
requestedPath?: string;
|
||||||
};
|
};
|
||||||
|
export type ApiGetQueryObject<T extends {
|
||||||
|
[k: string]: any;
|
||||||
|
} = {
|
||||||
|
[k: string]: any;
|
||||||
|
}> = {
|
||||||
|
query: ServerQueryParam<T>;
|
||||||
|
table: string;
|
||||||
|
dbFullName?: string;
|
||||||
|
};
|
||||||
export {};
|
export {};
|
||||||
|
6
dist/package-shared/utils/check-if-is-master.d.ts
vendored
Normal file
6
dist/package-shared/utils/check-if-is-master.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
type Param = {
|
||||||
|
dbContext?: "Master" | "Dsql User";
|
||||||
|
dbFullName?: string;
|
||||||
|
};
|
||||||
|
export default function checkIfIsMaster({ dbContext, dbFullName }: Param): boolean;
|
||||||
|
export {};
|
12
dist/package-shared/utils/check-if-is-master.js
vendored
Normal file
12
dist/package-shared/utils/check-if-is-master.js
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.default = checkIfIsMaster;
|
||||||
|
function checkIfIsMaster({ dbContext, dbFullName }) {
|
||||||
|
return (dbContext === null || dbContext === void 0 ? void 0 : dbContext.match(/dsql.user/i))
|
||||||
|
? false
|
||||||
|
: global.DSQL_USE_LOCAL
|
||||||
|
? true
|
||||||
|
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
||||||
|
? false
|
||||||
|
: true;
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
import { ApiGetQueryObject } from "..";
|
import { ApiGetQueryObject } from "../types";
|
||||||
type Param = {
|
type Param = {
|
||||||
query: string | ApiGetQueryObject;
|
query: string | ApiGetQueryObject;
|
||||||
values?: (string | number)[];
|
values?: (string | number)[];
|
@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.default = apiGetGrabQueryAndValues;
|
exports.default = apiGetGrabQueryAndValues;
|
||||||
const sql_generator_1 = __importDefault(require("../../../package-shared/functions/dsql/sql/sql-generator"));
|
const sql_generator_1 = __importDefault(require("../functions/dsql/sql/sql-generator"));
|
||||||
function apiGetGrabQueryAndValues({ query, values }) {
|
function apiGetGrabQueryAndValues({ query, values }) {
|
||||||
const queryGenObject = typeof query == "string"
|
const queryGenObject = typeof query == "string"
|
||||||
? undefined
|
? undefined
|
11
dist/utils/get/index.d.ts → dist/utils/get.d.ts
vendored
11
dist/utils/get/index.d.ts → dist/utils/get.d.ts
vendored
@ -1,13 +1,4 @@
|
|||||||
import { GetReturn, ServerQueryParam } from "../../package-shared/types";
|
import { ApiGetQueryObject, GetReturn } from "../package-shared/types";
|
||||||
export type ApiGetQueryObject<T extends {
|
|
||||||
[k: string]: any;
|
|
||||||
} = {
|
|
||||||
[k: string]: any;
|
|
||||||
}> = {
|
|
||||||
query: ServerQueryParam<T>;
|
|
||||||
table: string;
|
|
||||||
dbFullName?: string;
|
|
||||||
};
|
|
||||||
type Param<T extends {
|
type Param<T extends {
|
||||||
[k: string]: any;
|
[k: string]: any;
|
||||||
} = {
|
} = {
|
8
dist/utils/get/index.js → dist/utils/get.js
vendored
8
dist/utils/get/index.js → dist/utils/get.js
vendored
@ -15,10 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
exports.default = get;
|
exports.default = get;
|
||||||
const path_1 = __importDefault(require("path"));
|
const path_1 = __importDefault(require("path"));
|
||||||
const fs_1 = __importDefault(require("fs"));
|
const fs_1 = __importDefault(require("fs"));
|
||||||
const grab_host_names_1 = __importDefault(require("../../package-shared/utils/grab-host-names"));
|
const grab_host_names_1 = __importDefault(require("../package-shared/utils/grab-host-names"));
|
||||||
const get_1 = __importDefault(require("../../package-shared/functions/api/query/get"));
|
const get_1 = __importDefault(require("../package-shared/functions/api/query/get"));
|
||||||
const serialize_query_1 = __importDefault(require("../../package-shared/utils/serialize-query"));
|
const serialize_query_1 = __importDefault(require("../package-shared/utils/serialize-query"));
|
||||||
const grab_query_and_values_1 = __importDefault(require("./(utils)/grab-query-and-values"));
|
const grab_query_and_values_1 = __importDefault(require("../package-shared/utils/grab-query-and-values"));
|
||||||
/**
|
/**
|
||||||
* # Make a get request to Datasquirel API
|
* # Make a get request to Datasquirel API
|
||||||
*/
|
*/
|
2
index.ts
2
index.ts
@ -10,7 +10,7 @@ declare global {
|
|||||||
/**
|
/**
|
||||||
* Imports
|
* Imports
|
||||||
*/
|
*/
|
||||||
import get from "./utils/get/index";
|
import get from "./utils/get";
|
||||||
import post from "./utils/post";
|
import post from "./utils/post";
|
||||||
import getSchema from "./utils/get-schema";
|
import getSchema from "./utils/get-schema";
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import serverError from "../../backend/serverError";
|
import serverError from "../../backend/serverError";
|
||||||
import runQuery from "../../backend/db/runQuery";
|
import runQuery, { DbContextsArray } from "../../backend/db/runQuery";
|
||||||
import {
|
import {
|
||||||
DSQL_TableSchemaType,
|
DSQL_TableSchemaType,
|
||||||
GetReturn,
|
GetReturn,
|
||||||
ServerQueryParam,
|
ServerQueryParam,
|
||||||
} from "../../../types";
|
} from "../../../types";
|
||||||
import apiGetGrabQueryAndValues from "../../../../utils/get/(utils)/grab-query-and-values";
|
import apiGetGrabQueryAndValues from "../../../utils/grab-query-and-values";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
query:
|
query:
|
||||||
@ -22,6 +22,7 @@ type Param = {
|
|||||||
tableName?: string;
|
tableName?: string;
|
||||||
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
|
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
|
||||||
debug?: boolean;
|
debug?: boolean;
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,6 +35,7 @@ export default async function apiGet({
|
|||||||
tableName,
|
tableName,
|
||||||
dbSchema,
|
dbSchema,
|
||||||
debug,
|
debug,
|
||||||
|
dbContext,
|
||||||
}: Param): Promise<import("../../../types").GetReturn> {
|
}: Param): Promise<import("../../../types").GetReturn> {
|
||||||
const queryAndValues = apiGetGrabQueryAndValues({
|
const queryAndValues = apiGetGrabQueryAndValues({
|
||||||
query,
|
query,
|
||||||
@ -57,6 +59,8 @@ export default async function apiGet({
|
|||||||
readOnly: true,
|
readOnly: true,
|
||||||
dbSchema,
|
dbSchema,
|
||||||
tableName,
|
tableName,
|
||||||
|
dbContext,
|
||||||
|
debug,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (debug && global.DSQL_USE_LOCAL) {
|
if (debug && global.DSQL_USE_LOCAL) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import serverError from "../../backend/serverError";
|
import serverError from "../../backend/serverError";
|
||||||
import runQuery from "../../backend/db/runQuery";
|
import runQuery, { DbContextsArray } from "../../backend/db/runQuery";
|
||||||
import { DSQL_DatabaseSchemaType, PostReturn } from "../../../types";
|
import { DSQL_DatabaseSchemaType, PostReturn } from "../../../types";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
@ -9,6 +9,7 @@ type Param = {
|
|||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
tableName?: string;
|
tableName?: string;
|
||||||
dbSchema?: DSQL_DatabaseSchemaType;
|
dbSchema?: DSQL_DatabaseSchemaType;
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,6 +21,7 @@ export default async function apiPost({
|
|||||||
queryValues,
|
queryValues,
|
||||||
tableName,
|
tableName,
|
||||||
dbSchema,
|
dbSchema,
|
||||||
|
dbContext,
|
||||||
}: Param): Promise<PostReturn> {
|
}: Param): Promise<PostReturn> {
|
||||||
if (typeof query === "string" && query?.match(/^create |^alter |^drop /i)) {
|
if (typeof query === "string" && query?.match(/^create |^alter |^drop /i)) {
|
||||||
return { success: false, msg: "Wrong Input" };
|
return { success: false, msg: "Wrong Input" };
|
||||||
@ -47,6 +49,7 @@ export default async function apiPost({
|
|||||||
dbSchema: dbSchema,
|
dbSchema: dbSchema,
|
||||||
queryValuesArray: queryValues,
|
queryValuesArray: queryValues,
|
||||||
tableName,
|
tableName,
|
||||||
|
dbContext,
|
||||||
});
|
});
|
||||||
|
|
||||||
results = result;
|
results = result;
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import sanitizeHtml from "sanitize-html";
|
import sanitizeHtml from "sanitize-html";
|
||||||
import sanitizeHtmlOptions from "../html/sanitizeHtmlOptions";
|
import sanitizeHtmlOptions from "../html/sanitizeHtmlOptions";
|
||||||
import updateDbEntry from "./updateDbEntry";
|
import updateDbEntry from "./updateDbEntry";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
|
||||||
import DSQL_USER_DB_HANDLER from "../../../utils/backend/global-db/DSQL_USER_DB_HANDLER";
|
|
||||||
import encrypt from "../../dsql/encrypt";
|
import encrypt from "../../dsql/encrypt";
|
||||||
import LOCAL_DB_HANDLER from "../../../utils/backend/global-db/LOCAL_DB_HANDLER";
|
import connDbHandler from "../../../utils/db/conn-db-handler";
|
||||||
|
import checkIfIsMaster from "../../../utils/check-if-is-master";
|
||||||
|
import { DbContextsArray } from "./runQuery";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: "Master" | "Dsql User";
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
paradigm?: "Read Only" | "Full Access";
|
||||||
dbFullName?: string;
|
dbFullName?: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
@ -42,20 +40,14 @@ export default async function addDbEntry({
|
|||||||
/**
|
/**
|
||||||
* Initialize variables
|
* Initialize variables
|
||||||
*/
|
*/
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = checkIfIsMaster({ dbContext, dbFullName });
|
||||||
? true
|
|
||||||
: dbContext?.match(/dsql.user/i)
|
|
||||||
? false
|
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
|
||||||
? false
|
|
||||||
: true;
|
|
||||||
|
|
||||||
/** @type { any } */
|
const DB_CONN = isMaster
|
||||||
const dbHandler: any = global.DSQL_USE_LOCAL
|
? global.DSQL_DB_CONN
|
||||||
? LOCAL_DB_HANDLER
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
: isMaster
|
const DB_RO_CONN = isMaster
|
||||||
? DB_HANDLER
|
? global.DSQL_DB_CONN
|
||||||
: DSQL_USER_DB_HANDLER;
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
@ -72,28 +64,22 @@ export default async function addDbEntry({
|
|||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle function logic
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (duplicateColumnName && typeof duplicateColumnName === "string") {
|
if (duplicateColumnName && typeof duplicateColumnName === "string") {
|
||||||
const duplicateValue = isMaster
|
const checkDuplicateQuery = `SELECT * FROM ${
|
||||||
? await dbHandler(
|
isMaster ? "" : `\`${dbFullName}\`.`
|
||||||
`SELECT * FROM \`${tableName}\` WHERE \`${duplicateColumnName}\`=?`,
|
}\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`;
|
||||||
|
|
||||||
|
const duplicateValue = await connDbHandler(
|
||||||
|
DB_RO_CONN,
|
||||||
|
checkDuplicateQuery,
|
||||||
[duplicateColumnValue]
|
[duplicateColumnValue]
|
||||||
)
|
);
|
||||||
: await dbHandler({
|
|
||||||
paradigm: "Read Only",
|
|
||||||
queryString: `SELECT * FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`,
|
|
||||||
queryValues: [duplicateColumnValue],
|
|
||||||
});
|
|
||||||
|
|
||||||
if (duplicateValue?.[0] && !update) {
|
if (duplicateValue?.[0] && !update) {
|
||||||
return null;
|
return null;
|
||||||
} else if (duplicateValue && duplicateValue[0] && update) {
|
} else if (duplicateValue && duplicateValue[0] && update) {
|
||||||
return await updateDbEntry({
|
return await updateDbEntry({
|
||||||
dbContext,
|
dbContext,
|
||||||
paradigm,
|
|
||||||
dbFullName,
|
dbFullName,
|
||||||
tableName,
|
tableName,
|
||||||
data,
|
data,
|
||||||
@ -178,7 +164,7 @@ export default async function addDbEntry({
|
|||||||
} else {
|
} else {
|
||||||
insertValuesArray.push(value);
|
insertValuesArray.push(value);
|
||||||
}
|
}
|
||||||
} catch (/** @type {any} */ error: any) {
|
} catch (error: any) {
|
||||||
console.log("DSQL: Error in parsing data keys =>", error.message);
|
console.log("DSQL: Error in parsing data keys =>", error.message);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -210,18 +196,14 @@ export default async function addDbEntry({
|
|||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
const query = `INSERT INTO \`${dbFullName}\`.\`${tableName}\` (${insertKeysArray.join(
|
const query = `INSERT INTO ${
|
||||||
","
|
isMaster ? "" : `\`${dbFullName}\`.`
|
||||||
)}) VALUES (${insertValuesArray.map(() => "?").join(",")})`;
|
}\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray
|
||||||
|
.map(() => "?")
|
||||||
|
.join(",")})`;
|
||||||
const queryValuesArray = insertValuesArray;
|
const queryValuesArray = insertValuesArray;
|
||||||
|
|
||||||
const newInsert = isMaster
|
const newInsert = await connDbHandler(DB_CONN, query, queryValuesArray);
|
||||||
? await dbHandler(query, queryValuesArray)
|
|
||||||
: await dbHandler({
|
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
import checkIfIsMaster from "../../../utils/check-if-is-master";
|
||||||
import DSQL_USER_DB_HANDLER from "../../../utils/backend/global-db/DSQL_USER_DB_HANDLER";
|
import connDbHandler from "../../../utils/db/conn-db-handler";
|
||||||
import LOCAL_DB_HANDLER from "../../../utils/backend/global-db/LOCAL_DB_HANDLER";
|
import { DbContextsArray } from "./runQuery";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: string;
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
|
||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
tableSchema?: import("../../../types").DSQL_TableSchemaType;
|
tableSchema?: import("../../../types").DSQL_TableSchemaType;
|
||||||
@ -18,41 +17,33 @@ type Param = {
|
|||||||
*/
|
*/
|
||||||
export default async function deleteDbEntry({
|
export default async function deleteDbEntry({
|
||||||
dbContext,
|
dbContext,
|
||||||
paradigm,
|
|
||||||
dbFullName,
|
dbFullName,
|
||||||
tableName,
|
tableName,
|
||||||
identifierColumnName,
|
identifierColumnName,
|
||||||
identifierValue,
|
identifierValue,
|
||||||
}: Param): Promise<object | null> {
|
}: Param): Promise<object | null> {
|
||||||
try {
|
try {
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = checkIfIsMaster({ dbContext, dbFullName });
|
||||||
? true
|
|
||||||
: dbContext?.match(/dsql.user/i)
|
|
||||||
? false
|
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
|
||||||
? false
|
|
||||||
: true;
|
|
||||||
|
|
||||||
const dbHandler: (a1: any, a2?: any) => any = global.DSQL_USE_LOCAL
|
const DB_CONN = isMaster
|
||||||
? LOCAL_DB_HANDLER
|
? global.DSQL_DB_CONN
|
||||||
: isMaster
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
? DB_HANDLER
|
const DB_RO_CONN = isMaster
|
||||||
: DSQL_USER_DB_HANDLER;
|
? global.DSQL_DB_CONN
|
||||||
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execution
|
* Execution
|
||||||
*
|
*
|
||||||
* @description
|
* @description
|
||||||
*/
|
*/
|
||||||
const query = `DELETE FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${identifierColumnName}\`=?`;
|
const query = `DELETE FROM ${
|
||||||
|
isMaster ? "" : `\`${dbFullName}\`.`
|
||||||
|
}\`${tableName}\` WHERE \`${identifierColumnName}\`=?`;
|
||||||
|
|
||||||
const deletedEntry = isMaster
|
const deletedEntry = await connDbHandler(DB_CONN, query, [
|
||||||
? await dbHandler(query, [identifierValue])
|
identifierValue,
|
||||||
: await dbHandler({
|
]);
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: [identifierValue],
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
|
@ -7,7 +7,10 @@ import deleteDbEntry from "./deleteDbEntry";
|
|||||||
import trimSql from "../../../utils/trim-sql";
|
import trimSql from "../../../utils/trim-sql";
|
||||||
import { DSQL_TableSchemaType } from "../../../types";
|
import { DSQL_TableSchemaType } from "../../../types";
|
||||||
|
|
||||||
|
export const DbContextsArray = ["Master", "Dsql User"] as const;
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
dbFullName: string;
|
dbFullName: string;
|
||||||
query: string | any;
|
query: string | any;
|
||||||
readOnly?: boolean;
|
readOnly?: boolean;
|
||||||
@ -28,6 +31,7 @@ export default async function runQuery({
|
|||||||
queryValuesArray,
|
queryValuesArray,
|
||||||
tableName,
|
tableName,
|
||||||
debug,
|
debug,
|
||||||
|
dbContext,
|
||||||
}: Param): Promise<any> {
|
}: Param): Promise<any> {
|
||||||
/**
|
/**
|
||||||
* Declare variables
|
* Declare variables
|
||||||
@ -117,10 +121,7 @@ export default async function runQuery({
|
|||||||
switch (action.toLowerCase()) {
|
switch (action.toLowerCase()) {
|
||||||
case "insert":
|
case "insert":
|
||||||
result = await addDbEntry({
|
result = await addDbEntry({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
data: data,
|
data: data,
|
||||||
@ -138,10 +139,7 @@ export default async function runQuery({
|
|||||||
|
|
||||||
case "update":
|
case "update":
|
||||||
result = await updateDbEntry({
|
result = await updateDbEntry({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
data: data,
|
data: data,
|
||||||
@ -154,10 +152,7 @@ export default async function runQuery({
|
|||||||
|
|
||||||
case "delete":
|
case "delete":
|
||||||
result = await deleteDbEntry({
|
result = await deleteDbEntry({
|
||||||
dbContext: global.DSQL_USE_LOCAL
|
dbContext,
|
||||||
? "Master"
|
|
||||||
: "Dsql User",
|
|
||||||
paradigm: "Full Access",
|
|
||||||
dbFullName: dbFullName,
|
dbFullName: dbFullName,
|
||||||
tableName: table,
|
tableName: table,
|
||||||
identifierColumnName,
|
identifierColumnName,
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
import sanitizeHtml from "sanitize-html";
|
import sanitizeHtml from "sanitize-html";
|
||||||
import sanitizeHtmlOptions from "../html/sanitizeHtmlOptions";
|
import sanitizeHtmlOptions from "../html/sanitizeHtmlOptions";
|
||||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
|
||||||
import DSQL_USER_DB_HANDLER from "../../../utils/backend/global-db/DSQL_USER_DB_HANDLER";
|
|
||||||
import encrypt from "../../dsql/encrypt";
|
import encrypt from "../../dsql/encrypt";
|
||||||
import LOCAL_DB_HANDLER from "../../../utils/backend/global-db/LOCAL_DB_HANDLER";
|
import checkIfIsMaster from "../../../utils/check-if-is-master";
|
||||||
|
import connDbHandler from "../../../utils/db/conn-db-handler";
|
||||||
|
import { DbContextsArray } from "./runQuery";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
dbContext?: "Master" | "Dsql User";
|
dbContext?: (typeof DbContextsArray)[number];
|
||||||
paradigm?: "Read Only" | "Full Access";
|
|
||||||
dbFullName?: string;
|
dbFullName?: string;
|
||||||
tableName: string;
|
tableName: string;
|
||||||
encryptionKey?: string;
|
encryptionKey?: string;
|
||||||
@ -24,7 +23,6 @@ type Param = {
|
|||||||
*/
|
*/
|
||||||
export default async function updateDbEntry({
|
export default async function updateDbEntry({
|
||||||
dbContext,
|
dbContext,
|
||||||
paradigm,
|
|
||||||
dbFullName,
|
dbFullName,
|
||||||
tableName,
|
tableName,
|
||||||
data,
|
data,
|
||||||
@ -39,20 +37,14 @@ export default async function updateDbEntry({
|
|||||||
*/
|
*/
|
||||||
if (!data || !Object.keys(data).length) return null;
|
if (!data || !Object.keys(data).length) return null;
|
||||||
|
|
||||||
const isMaster = global.DSQL_USE_LOCAL
|
const isMaster = checkIfIsMaster({ dbContext, dbFullName });
|
||||||
? true
|
|
||||||
: dbContext?.match(/dsql.user/i)
|
|
||||||
? false
|
|
||||||
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
|
||||||
? false
|
|
||||||
: true;
|
|
||||||
|
|
||||||
/** @type {(a1:any, a2?:any)=> any } */
|
const DB_CONN = isMaster
|
||||||
const dbHandler: (a1: any, a2?: any) => any = global.DSQL_USE_LOCAL
|
? global.DSQL_DB_CONN
|
||||||
? LOCAL_DB_HANDLER
|
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
: isMaster
|
const DB_RO_CONN = isMaster
|
||||||
? DB_HANDLER
|
? global.DSQL_DB_CONN
|
||||||
: DSQL_USER_DB_HANDLER;
|
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
@ -162,19 +154,15 @@ export default async function updateDbEntry({
|
|||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
const query = `UPDATE \`${dbFullName}\`.\`${tableName}\` SET ${updateKeyValueArray.join(
|
const query = `UPDATE ${
|
||||||
|
isMaster ? "" : `\`${dbFullName}\`.`
|
||||||
|
}\`${tableName}\` SET ${updateKeyValueArray.join(
|
||||||
","
|
","
|
||||||
)} WHERE \`${identifierColumnName}\`=?`;
|
)} WHERE \`${identifierColumnName}\`=?`;
|
||||||
|
|
||||||
updateValues.push(identifierValue);
|
updateValues.push(identifierValue);
|
||||||
|
|
||||||
const updatedEntry = isMaster
|
const updatedEntry = await connDbHandler(DB_CONN, query, updateValues);
|
||||||
? await dbHandler(query, updateValues)
|
|
||||||
: await dbHandler({
|
|
||||||
paradigm,
|
|
||||||
queryString: query,
|
|
||||||
queryValues: updateValues,
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return statement
|
* Return statement
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
import connDbHandler from "../../utils/db/conn-db-handler";
|
||||||
|
|
||||||
import DSQL_USER_DB_HANDLER from "../../utils/backend/global-db/DSQL_USER_DB_HANDLER";
|
|
||||||
import LOCAL_DB_HANDLER from "../../utils/backend/global-db/LOCAL_DB_HANDLER";
|
|
||||||
import parseDbResults from "./parseDbResults";
|
import parseDbResults from "./parseDbResults";
|
||||||
import serverError from "./serverError";
|
import serverError from "./serverError";
|
||||||
|
|
||||||
@ -26,24 +23,18 @@ export default async function fullAccessDbHandler({
|
|||||||
*/
|
*/
|
||||||
let results;
|
let results;
|
||||||
|
|
||||||
|
const DB_CONN = global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch from db
|
* Fetch from db
|
||||||
*
|
*
|
||||||
* @description Fetch data from db if no cache
|
* @description Fetch data from db if no cache
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
/** ********************* Run Query */
|
results = await connDbHandler(DB_CONN, queryString, queryValuesArray);
|
||||||
|
|
||||||
results = global.DSQL_USE_LOCAL
|
|
||||||
? await LOCAL_DB_HANDLER(queryString, queryValuesArray)
|
|
||||||
: await DSQL_USER_DB_HANDLER({
|
|
||||||
paradigm: "Full Access",
|
|
||||||
queryString,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
} catch (/** @type {any} */ error: any) {
|
} catch (error: any) {
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
serverError({
|
serverError({
|
||||||
@ -55,6 +46,8 @@ export default async function fullAccessDbHandler({
|
|||||||
* Return error
|
* Return error
|
||||||
*/
|
*/
|
||||||
return error.message;
|
return error.message;
|
||||||
|
} finally {
|
||||||
|
DB_CONN?.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import fs from "fs";
|
|
||||||
import serverError from "./serverError";
|
import serverError from "./serverError";
|
||||||
import parseDbResults from "./parseDbResults";
|
import parseDbResults from "./parseDbResults";
|
||||||
import DSQL_USER_DB_HANDLER from "../../utils/backend/global-db/DSQL_USER_DB_HANDLER";
|
import connDbHandler from "../../utils/db/conn-db-handler";
|
||||||
import LOCAL_DB_HANDLER from "../../utils/backend/global-db/LOCAL_DB_HANDLER";
|
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
queryString: string;
|
queryString: string;
|
||||||
@ -28,22 +24,18 @@ export default async function varReadOnlyDatabaseDbHandler({
|
|||||||
*/
|
*/
|
||||||
let results;
|
let results;
|
||||||
|
|
||||||
|
const DB_CONN = global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch from db
|
* Fetch from db
|
||||||
*
|
*
|
||||||
* @description Fetch data from db if no cache
|
* @description Fetch data from db if no cache
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
results = global.DSQL_USE_LOCAL
|
results = await connDbHandler(DB_CONN, queryString, queryValuesArray);
|
||||||
? await LOCAL_DB_HANDLER(queryString, queryValuesArray)
|
|
||||||
: await DSQL_USER_DB_HANDLER({
|
|
||||||
paradigm: "Read Only",
|
|
||||||
queryString,
|
|
||||||
queryValues: queryValuesArray,
|
|
||||||
});
|
|
||||||
|
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
} catch (/** @type {any} */ error: any) {
|
} catch (error: any) {
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
||||||
serverError({
|
serverError({
|
||||||
@ -56,6 +48,8 @@ export default async function varReadOnlyDatabaseDbHandler({
|
|||||||
* Return error
|
* Return error
|
||||||
*/
|
*/
|
||||||
return error.message;
|
return error.message;
|
||||||
|
} finally {
|
||||||
|
DB_CONN?.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1446,3 +1446,11 @@ export type HttpFunctionResponse<
|
|||||||
str?: string;
|
str?: string;
|
||||||
requestedPath?: string;
|
requestedPath?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type ApiGetQueryObject<
|
||||||
|
T extends { [k: string]: any } = { [k: string]: any }
|
||||||
|
> = {
|
||||||
|
query: ServerQueryParam<T>;
|
||||||
|
table: string;
|
||||||
|
dbFullName?: string;
|
||||||
|
};
|
||||||
|
14
package-shared/utils/check-if-is-master.ts
Normal file
14
package-shared/utils/check-if-is-master.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
type Param = {
|
||||||
|
dbContext?: "Master" | "Dsql User";
|
||||||
|
dbFullName?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function checkIfIsMaster({ dbContext, dbFullName }: Param) {
|
||||||
|
return dbContext?.match(/dsql.user/i)
|
||||||
|
? false
|
||||||
|
: global.DSQL_USE_LOCAL
|
||||||
|
? true
|
||||||
|
: dbFullName && !dbFullName.match(/^datasquirel$/)
|
||||||
|
? false
|
||||||
|
: true;
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
import { ApiGetQueryObject } from "..";
|
import sqlGenerator from "../functions/dsql/sql/sql-generator";
|
||||||
import sqlGenerator from "../../../package-shared/functions/dsql/sql/sql-generator";
|
import { ApiGetQueryObject } from "../types";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
query: string | ApiGetQueryObject;
|
query: string | ApiGetQueryObject;
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/datasquirel",
|
"name": "@moduletrace/datasquirel",
|
||||||
"version": "3.8.3",
|
"version": "3.8.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": {
|
||||||
|
@ -1,24 +1,17 @@
|
|||||||
import https from "node:https";
|
import https from "node:https";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import grabHostNames from "../../package-shared/utils/grab-host-names";
|
import grabHostNames from "../package-shared/utils/grab-host-names";
|
||||||
import apiGet from "../../package-shared/functions/api/query/get";
|
import apiGet from "../package-shared/functions/api/query/get";
|
||||||
import serializeQuery from "../../package-shared/utils/serialize-query";
|
import serializeQuery from "../package-shared/utils/serialize-query";
|
||||||
import {
|
import {
|
||||||
|
ApiGetQueryObject,
|
||||||
DSQL_DatabaseSchemaType,
|
DSQL_DatabaseSchemaType,
|
||||||
GetReqQueryObject,
|
GetReqQueryObject,
|
||||||
GetReturn,
|
GetReturn,
|
||||||
ServerQueryParam,
|
ServerQueryParam,
|
||||||
} from "../../package-shared/types";
|
} from "../package-shared/types";
|
||||||
import apiGetGrabQueryAndValues from "./(utils)/grab-query-and-values";
|
import apiGetGrabQueryAndValues from "../package-shared/utils/grab-query-and-values";
|
||||||
|
|
||||||
export type ApiGetQueryObject<
|
|
||||||
T extends { [k: string]: any } = { [k: string]: any }
|
|
||||||
> = {
|
|
||||||
query: ServerQueryParam<T>;
|
|
||||||
table: string;
|
|
||||||
dbFullName?: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
||||||
key?: string;
|
key?: string;
|
Loading…
Reference in New Issue
Block a user