This commit is contained in:
Benjamin Toby 2025-01-14 10:59:09 +01:00
parent 0cd3eb418c
commit edd555c088
19 changed files with 214 additions and 256 deletions

6
dist/index.d.ts vendored
View File

@ -1,9 +1,3 @@
import { ServerlessMysql } from "serverless-mysql";
declare global {
var DSQL_DB_CONN: ServerlessMysql | undefined;
var DSQL_READ_ONLY_DB_CONN: ServerlessMysql | undefined;
var DSQL_FULL_ACCESS_DB_CONN: ServerlessMysql | undefined;
}
/** /**
* Imports * Imports
*/ */

View File

@ -24,8 +24,7 @@ function dbHandler(...args) {
var _a; var _a;
((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.match(/dev/)) && ((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.match(/dev/)) &&
fs_1.default.appendFileSync("./.tmp/sqlQuery.sql", args[0] + "\n" + Date() + "\n\n\n", "utf8"); fs_1.default.appendFileSync("./.tmp/sqlQuery.sql", args[0] + "\n" + Date() + "\n\n\n", "utf8");
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -26,8 +26,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
* @returns {Promise<object|null>} * @returns {Promise<object|null>}
*/ */
(() => __awaiter(void 0, void 0, void 0, function* () { (() => __awaiter(void 0, void 0, void 0, function* () {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -27,8 +27,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
*/ */
(() => __awaiter(void 0, void 0, void 0, function* () { (() => __awaiter(void 0, void 0, void 0, function* () {
var _a; var _a;
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -22,8 +22,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
*/ */
function dbHandler(_a) { function dbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, values, }) { return __awaiter(this, arguments, void 0, function* ({ query, values, }) {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -20,8 +20,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
*/ */
function DB_HANDLER(...args) { function DB_HANDLER(...args) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -20,13 +20,23 @@ const conn_db_handler_1 = __importDefault(require("../../db/conn-db-handler"));
*/ */
function DSQL_USER_DB_HANDLER(_a) { function DSQL_USER_DB_HANDLER(_a) {
return __awaiter(this, arguments, void 0, function* ({ paradigm, queryString, queryValues, }) { return __awaiter(this, arguments, void 0, function* ({ paradigm, queryString, queryValues, }) {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = paradigm == "Read Only"
(0, serverless_mysql_1.default)({ ? (0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_READ_ONLY_USERNAME,
password: process.env.DSQL_DB_PASSWORD, password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
database: process.env.DSQL_DB_NAME, port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT)
: undefined,
charset: "utf8mb4",
},
})
: (0, serverless_mysql_1.default)({
config: {
host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_FULL_ACCESS_USERNAME,
password: process.env.DSQL_DB_FULL_ACCESS_PASSWORD,
port: process.env.DSQL_DB_PORT port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT) ? Number(process.env.DSQL_DB_PORT)
: undefined, : undefined,
@ -34,21 +44,15 @@ function DSQL_USER_DB_HANDLER(_a) {
}, },
}); });
try { try {
switch (paradigm) { return yield (0, conn_db_handler_1.default)(CONNECTION, queryString, queryValues);
case "Read Only":
return yield (0, conn_db_handler_1.default)(global.DSQL_READ_ONLY_DB_CONN || CONNECTION, queryString, queryValues);
case "Full Access":
return yield (0, conn_db_handler_1.default)(global.DSQL_FULL_ACCESS_DB_CONN || CONNECTION, queryString, queryValues);
case "FA":
return yield (0, conn_db_handler_1.default)(global.DSQL_FULL_ACCESS_DB_CONN || CONNECTION, queryString, queryValues);
default:
return null;
}
} }
catch (error) { catch (error) {
console.log(`DSQL_USER_DB_HANDLER Error: ${error.message}`); console.log(`DSQL_USER_DB_HANDLER Error: ${error.message}`);
return null; return null;
} }
finally {
CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end();
}
// try { // try {
// return new Promise((resolve, reject) => { // return new Promise((resolve, reject) => {
// const fullAccess = paradigm?.match(/full.access|^fa$/i) // const fullAccess = paradigm?.match(/full.access|^fa$/i)

View File

@ -9,8 +9,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
* # DSQL user read-only DB handler * # DSQL user read-only DB handler
*/ */
function NO_DB_HANDLER(...args) { function NO_DB_HANDLER(...args) {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -9,8 +9,7 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
* # Root DB handler * # Root DB handler
*/ */
function ROOT_DB_HANDLER(...args) { function ROOT_DB_HANDLER(...args) {
const CONNECTION = global.DSQL_DB_CONN || const CONNECTION = (0, serverless_mysql_1.default)({
(0, serverless_mysql_1.default)({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -1,10 +1,3 @@
import { ServerlessMysql } from "serverless-mysql";
declare global {
var DSQL_DB_CONN: ServerlessMysql | undefined;
var DSQL_READ_ONLY_DB_CONN: ServerlessMysql | undefined;
var DSQL_FULL_ACCESS_DB_CONN: ServerlessMysql | undefined;
}
/** /**
* Imports * Imports
*/ */

View File

@ -13,9 +13,7 @@ export default async function dbHandler(...args: any[]) {
"utf8" "utf8"
); );
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -13,9 +13,7 @@ import mysql from "serverless-mysql";
* @returns {Promise<object|null>} * @returns {Promise<object|null>}
*/ */
(async () => { (async () => {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -13,9 +13,7 @@ import mysql from "serverless-mysql";
* @returns {Promise<object|null>} * @returns {Promise<object|null>}
*/ */
(async () => { (async () => {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -17,9 +17,7 @@ export default async function dbHandler({
query, query,
values, values,
}: Param): Promise<any[] | object | null> { }: Param): Promise<any[] | object | null> {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -5,9 +5,7 @@ import mysql from "serverless-mysql";
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database * @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/ */
export default async function DB_HANDLER(...args: any[]) { export default async function DB_HANDLER(...args: any[]) {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -16,13 +16,23 @@ export default async function DSQL_USER_DB_HANDLER({
queryValues, queryValues,
}: Param) { }: Param) {
const CONNECTION = const CONNECTION =
global.DSQL_DB_CONN || paradigm == "Read Only"
mysql({ ? mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_READ_ONLY_USERNAME,
password: process.env.DSQL_DB_PASSWORD, password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
database: process.env.DSQL_DB_NAME, port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT)
: undefined,
charset: "utf8mb4",
},
})
: mysql({
config: {
host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_FULL_ACCESS_USERNAME,
password: process.env.DSQL_DB_FULL_ACCESS_PASSWORD,
port: process.env.DSQL_DB_PORT port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT) ? Number(process.env.DSQL_DB_PORT)
: undefined, : undefined,
@ -31,34 +41,12 @@ export default async function DSQL_USER_DB_HANDLER({
}); });
try { try {
switch (paradigm) { return await connDbHandler(CONNECTION, queryString, queryValues);
case "Read Only":
return await connDbHandler(
global.DSQL_READ_ONLY_DB_CONN || CONNECTION,
queryString,
queryValues
);
case "Full Access":
return await connDbHandler(
global.DSQL_FULL_ACCESS_DB_CONN || CONNECTION,
queryString,
queryValues
);
case "FA":
return await connDbHandler(
global.DSQL_FULL_ACCESS_DB_CONN || CONNECTION,
queryString,
queryValues
);
default:
return null;
}
} catch (error: any) { } catch (error: any) {
console.log(`DSQL_USER_DB_HANDLER Error: ${error.message}`); console.log(`DSQL_USER_DB_HANDLER Error: ${error.message}`);
return null; return null;
} finally {
CONNECTION?.end();
} }
// try { // try {

View File

@ -5,9 +5,7 @@ import grabDbSSL from "../grabDbSSL";
* # DSQL user read-only DB handler * # DSQL user read-only DB handler
*/ */
export default function NO_DB_HANDLER(...args: any[]) { export default function NO_DB_HANDLER(...args: any[]) {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -4,9 +4,7 @@ import mysql from "serverless-mysql";
* # Root DB handler * # Root DB handler
*/ */
export default function ROOT_DB_HANDLER(...args: any[]) { export default function ROOT_DB_HANDLER(...args: any[]) {
const CONNECTION = const CONNECTION = mysql({
global.DSQL_DB_CONN ||
mysql({
config: { config: {
host: process.env.DSQL_DB_HOST, host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME, user: process.env.DSQL_DB_USERNAME,

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/datasquirel", "name": "@moduletrace/datasquirel",
"version": "3.4.8", "version": "3.4.9",
"description": "Cloud-based SQL data management tool", "description": "Cloud-based SQL data management tool",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {