Updates
This commit is contained in:
parent
ab13c68c8e
commit
43a741f9ac
@ -1,4 +1,4 @@
|
|||||||
import { DSQL_TableSchemaType } from "../../types";
|
import { DSQL_TableSchemaType, PostInsertReturn } from "../../types";
|
||||||
import { ConnectionConfig } from "mariadb";
|
import { ConnectionConfig } from "mariadb";
|
||||||
type Param<T extends {
|
type Param<T extends {
|
||||||
[k: string]: any;
|
[k: string]: any;
|
||||||
@ -18,7 +18,5 @@ type Param<T extends {
|
|||||||
*/
|
*/
|
||||||
export default function dbHandler<T extends {
|
export default function dbHandler<T extends {
|
||||||
[k: string]: any;
|
[k: string]: any;
|
||||||
} = {
|
} = PostInsertReturn>({ query, values, noErrorLogs, database, config, }: Param<T>): Promise<T[] | T | null>;
|
||||||
[k: string]: any;
|
|
||||||
}>({ query, values, noErrorLogs, database, config, }: Param<T>): Promise<T[] | T | null>;
|
|
||||||
export {};
|
export {};
|
||||||
|
@ -27,16 +27,16 @@ function dbHandler(_a) {
|
|||||||
try {
|
try {
|
||||||
CONNECTION = yield (0, grab_dsql_connection_1.default)({ database, config });
|
CONNECTION = yield (0, grab_dsql_connection_1.default)({ database, config });
|
||||||
if (query && values) {
|
if (query && values) {
|
||||||
const queryResults = yield CONNECTION.query(query, values);
|
const queryResults = (yield CONNECTION.query(query, values));
|
||||||
results = queryResults[0];
|
results = queryResults;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const queryResults = yield CONNECTION.query(query);
|
const queryResults = (yield CONNECTION.query(query));
|
||||||
results = queryResults[0];
|
results = queryResults;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.log("Connection Info =>", CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.info);
|
console.log("Connection Info =>", CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.getConfig());
|
||||||
if (error.message &&
|
if (error.message &&
|
||||||
typeof error.message == "string" &&
|
typeof error.message == "string" &&
|
||||||
error.message.match(/Access denied for user.*password/i)) {
|
error.message.match(/Access denied for user.*password/i)) {
|
||||||
|
@ -15,9 +15,5 @@ type CreateNewUserParams = {
|
|||||||
host?: string;
|
host?: string;
|
||||||
password?: string;
|
password?: string;
|
||||||
};
|
};
|
||||||
export declare function createNewSQLUser({ host, password, username, }: CreateNewUserParams): Promise<{
|
export declare function createNewSQLUser({ host, password, username, }: CreateNewUserParams): Promise<import("../../../types").PostInsertReturn | import("../../../types").PostInsertReturn[] | null>;
|
||||||
[k: string]: any;
|
|
||||||
} | {
|
|
||||||
[k: string]: any;
|
|
||||||
}[] | null>;
|
|
||||||
export {};
|
export {};
|
||||||
|
2
dist/package-shared/shell/checkDb.js
vendored
2
dist/package-shared/shell/checkDb.js
vendored
@ -28,7 +28,7 @@ const grab_dsql_connection_1 = __importDefault(require("../utils/grab-dsql-conne
|
|||||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||||
const CONNECTION = yield (0, grab_dsql_connection_1.default)();
|
const CONNECTION = yield (0, grab_dsql_connection_1.default)();
|
||||||
try {
|
try {
|
||||||
const [result] = yield CONNECTION.query("SELECT id,first_name,last_name FROM users LIMIT 3");
|
const result = yield CONNECTION.query("SELECT id,first_name,last_name FROM users LIMIT 3");
|
||||||
console.log("Connection Query Success =>", result);
|
console.log("Connection Query Success =>", result);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
@ -33,7 +33,7 @@ const grab_dsql_connection_1 = __importDefault(require("../utils/grab-dsql-conne
|
|||||||
* @description If a database is provided, switch to it
|
* @description If a database is provided, switch to it
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
const [result] = yield CONNECTION.query("SHOW DATABASES");
|
const result = yield CONNECTION.query("SHOW DATABASES");
|
||||||
const parsedResults = JSON.parse(JSON.stringify(result));
|
const parsedResults = JSON.parse(JSON.stringify(result));
|
||||||
console.log("parsedResults =>", parsedResults);
|
console.log("parsedResults =>", parsedResults);
|
||||||
}
|
}
|
||||||
|
4
dist/package-shared/shell/updateSSLUsers.js
vendored
4
dist/package-shared/shell/updateSSLUsers.js
vendored
@ -30,7 +30,7 @@ const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"
|
|||||||
var _a;
|
var _a;
|
||||||
const CONNECTION = yield (0, grab_dsql_connection_1.default)();
|
const CONNECTION = yield (0, grab_dsql_connection_1.default)();
|
||||||
try {
|
try {
|
||||||
const [result] = yield CONNECTION.query("SELECT user,host,ssl_type FROM mysql.user");
|
const result = (yield CONNECTION.query("SELECT user,host,ssl_type FROM mysql.user"));
|
||||||
for (let i = 0; i < result.length; i++) {
|
for (let i = 0; i < result.length; i++) {
|
||||||
const user = result[i];
|
const user = result[i];
|
||||||
if (user.User !== process.env.DSQL_DB_READ_ONLY_USERNAME ||
|
if (user.User !== process.env.DSQL_DB_READ_ONLY_USERNAME ||
|
||||||
@ -42,7 +42,7 @@ const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"
|
|||||||
if (ssl_type === "ANY") {
|
if (ssl_type === "ANY") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const [addUserSSL] = yield CONNECTION.query(`ALTER USER '${User}'@'${Host}'`);
|
const addUserSSL = yield CONNECTION.query(`ALTER USER '${User}'@'${Host}'`);
|
||||||
console.log(`addUserSSL => ${User}@${Host}`, addUserSSL);
|
console.log(`addUserSSL => ${User}@${Host}`, addUserSSL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
import type { ConnectionConfig } from "mariadb";
|
|
||||||
type Return = ConnectionConfig["ssl"] | undefined;
|
|
||||||
/**
|
/**
|
||||||
* # Grab SSL
|
* # Grab SSL
|
||||||
*/
|
*/
|
||||||
export default function grabDbSSL(): Return;
|
export default function grabDbSSL(): any;
|
||||||
export {};
|
|
||||||
|
@ -7,6 +7,7 @@ exports.default = grabDbSSL;
|
|||||||
const fs_1 = __importDefault(require("fs"));
|
const fs_1 = __importDefault(require("fs"));
|
||||||
const grab_dir_names_1 = __importDefault(require("./names/grab-dir-names"));
|
const grab_dir_names_1 = __importDefault(require("./names/grab-dir-names"));
|
||||||
const path_1 = __importDefault(require("path"));
|
const path_1 = __importDefault(require("path"));
|
||||||
|
// type Return = ConnectionConfig["ssl"] | undefined;
|
||||||
/**
|
/**
|
||||||
* # Grab SSL
|
* # Grab SSL
|
||||||
*/
|
*/
|
||||||
|
@ -42,7 +42,7 @@ values, debug) {
|
|||||||
throw new Error("Query String Required!");
|
throw new Error("Query String Required!");
|
||||||
let queryErrorArray = [];
|
let queryErrorArray = [];
|
||||||
if (typeof query == "string") {
|
if (typeof query == "string") {
|
||||||
const [results] = yield finalConnection.query(trimQuery(query), values);
|
const results = (yield finalConnection.query(trimQuery(query), values));
|
||||||
if (debug) {
|
if (debug) {
|
||||||
(0, debug_log_1.default)({
|
(0, debug_log_1.default)({
|
||||||
log: results,
|
log: results,
|
||||||
@ -61,7 +61,7 @@ values, debug) {
|
|||||||
currentQueryError.sql = queryObj.query;
|
currentQueryError.sql = queryObj.query;
|
||||||
currentQueryError.sqlValues = queryObj.values;
|
currentQueryError.sqlValues = queryObj.values;
|
||||||
const queryObjRes = yield finalConnection.query(trimQuery(queryObj.query), queryObj.values);
|
const queryObjRes = yield finalConnection.query(trimQuery(queryObj.query), queryObj.values);
|
||||||
const results = queryObjRes[0];
|
const results = queryObjRes;
|
||||||
if (debug) {
|
if (debug) {
|
||||||
(0, debug_log_1.default)({
|
(0, debug_log_1.default)({
|
||||||
log: results,
|
log: results,
|
||||||
|
6
dist/package-shared/utils/endConnection.d.ts
vendored
6
dist/package-shared/utils/endConnection.d.ts
vendored
@ -1,6 +0,0 @@
|
|||||||
import mysql from "mysql";
|
|
||||||
/**
|
|
||||||
* # End MYSQL Connection
|
|
||||||
*/
|
|
||||||
declare function endConnection(connection: mysql.Connection): void;
|
|
||||||
export default endConnection;
|
|
13
dist/package-shared/utils/endConnection.js
vendored
13
dist/package-shared/utils/endConnection.js
vendored
@ -1,13 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
/**
|
|
||||||
* # End MYSQL Connection
|
|
||||||
*/
|
|
||||||
function endConnection(connection) {
|
|
||||||
if (connection.state !== "disconnected") {
|
|
||||||
connection.end((err) => {
|
|
||||||
console.log(err === null || err === void 0 ? void 0 : err.message);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.default = endConnection;
|
|
@ -1,6 +1,6 @@
|
|||||||
import { ConnectionConfig } from "mariadb";
|
|
||||||
import { DsqlConnectionParam } from "../types";
|
import { DsqlConnectionParam } from "../types";
|
||||||
|
import serverlessMysql from "serverless-mysql";
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
export default function grabDSQLConnectionConfig(param?: DsqlConnectionParam): ConnectionConfig;
|
export default function grabDSQLConnectionConfig(param?: DsqlConnectionParam): serverlessMysql.Config;
|
||||||
|
@ -5,14 +5,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.default = grabDSQLConnectionConfig;
|
exports.default = grabDSQLConnectionConfig;
|
||||||
const grabDbSSL_1 = __importDefault(require("./backend/grabDbSSL"));
|
const grabDbSSL_1 = __importDefault(require("./backend/grabDbSSL"));
|
||||||
|
const lodash_1 = __importDefault(require("lodash"));
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
function grabDSQLConnectionConfig(param) {
|
function grabDSQLConnectionConfig(param) {
|
||||||
const CONN_TIMEOUT = 10000;
|
const CONN_TIMEOUT = 10000;
|
||||||
const config = Object.assign({ host: process.env.DSQL_DB_HOST, user: process.env.DSQL_DB_USERNAME, password: process.env.DSQL_DB_PASSWORD, database: (param === null || param === void 0 ? void 0 : param.database) ||
|
const config = {
|
||||||
((param === null || param === void 0 ? void 0 : param.noDb) ? undefined : process.env.DSQL_DB_NAME), port: process.env.DSQL_DB_PORT
|
config: {
|
||||||
? Number(process.env.DSQL_DB_PORT)
|
host: process.env.DSQL_DB_HOST,
|
||||||
: undefined, charset: "utf8mb4", ssl: (0, grabDbSSL_1.default)(), bigIntAsNumber: true, supportBigNumbers: true, bigNumberStrings: false, dateStrings: true, metaAsArray: true, socketTimeout: CONN_TIMEOUT, connectTimeout: CONN_TIMEOUT, compress: true }, param === null || param === void 0 ? void 0 : param.config);
|
user: process.env.DSQL_DB_USERNAME,
|
||||||
return config;
|
password: process.env.DSQL_DB_PASSWORD,
|
||||||
|
database: (param === null || param === void 0 ? void 0 : param.database) ||
|
||||||
|
((param === null || param === void 0 ? void 0 : param.noDb) ? undefined : process.env.DSQL_DB_NAME),
|
||||||
|
port: process.env.DSQL_DB_PORT
|
||||||
|
? Number(process.env.DSQL_DB_PORT)
|
||||||
|
: undefined,
|
||||||
|
charset: "utf8mb4",
|
||||||
|
ssl: (0, grabDbSSL_1.default)(),
|
||||||
|
connectTimeout: CONN_TIMEOUT,
|
||||||
|
dateStrings: true,
|
||||||
|
compress: true,
|
||||||
|
decimalNumbers: true,
|
||||||
|
// supportBigNumbers: true,
|
||||||
|
// bigNumberStrings: false,
|
||||||
|
// bigIntAsNumber: true,
|
||||||
|
// metaAsArray: true,
|
||||||
|
// socketTimeout: CONN_TIMEOUT,
|
||||||
|
// ...param?.config,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return lodash_1.default.merge(config, param === null || param === void 0 ? void 0 : param.config);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Connection } from "mariadb";
|
|
||||||
import { DsqlConnectionParam } from "../types";
|
import { DsqlConnectionParam } from "../types";
|
||||||
|
import { ServerlessMysql } from "serverless-mysql";
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
export default function grabDSQLConnection(param?: DsqlConnectionParam): Promise<Connection>;
|
export default function grabDSQLConnection(param?: DsqlConnectionParam): Promise<ServerlessMysql>;
|
||||||
|
@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.default = grabDSQLConnection;
|
exports.default = grabDSQLConnection;
|
||||||
const mariadb_1 = __importDefault(require("mariadb"));
|
|
||||||
const grab_dsql_connection_config_1 = __importDefault(require("./grab-dsql-connection-config"));
|
const grab_dsql_connection_config_1 = __importDefault(require("./grab-dsql-connection-config"));
|
||||||
|
const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
@ -22,7 +22,8 @@ function grabDSQLConnection(param) {
|
|||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const config = (0, grab_dsql_connection_config_1.default)(param);
|
const config = (0, grab_dsql_connection_config_1.default)(param);
|
||||||
try {
|
try {
|
||||||
return yield mariadb_1.default.createConnection(config);
|
const sql = (0, serverless_mysql_1.default)(config);
|
||||||
|
return sql;
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.log(`Error Grabbing DSQL Connection =>`, config);
|
console.log(`Error Grabbing DSQL Connection =>`, config);
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import grabDSQLConnection from "../../utils/grab-dsql-connection";
|
import grabDSQLConnection from "../../utils/grab-dsql-connection";
|
||||||
import { DSQL_TableSchemaType } from "../../types";
|
import { DSQL_TableSchemaType, PostInsertReturn } from "../../types";
|
||||||
import { Connection, ConnectionConfig } from "mariadb";
|
import { Connection, ConnectionConfig } from "mariadb";
|
||||||
|
import { ServerlessMysql } from "serverless-mysql";
|
||||||
|
|
||||||
type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
||||||
query: string;
|
query: string;
|
||||||
@ -18,7 +19,7 @@ type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
|||||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||||
*/
|
*/
|
||||||
export default async function dbHandler<
|
export default async function dbHandler<
|
||||||
T extends { [k: string]: any } = { [k: string]: any }
|
T extends { [k: string]: any } = PostInsertReturn
|
||||||
>({
|
>({
|
||||||
query,
|
query,
|
||||||
values,
|
values,
|
||||||
@ -26,21 +27,23 @@ export default async function dbHandler<
|
|||||||
database,
|
database,
|
||||||
config,
|
config,
|
||||||
}: Param<T>): Promise<T[] | T | null> {
|
}: Param<T>): Promise<T[] | T | null> {
|
||||||
let CONNECTION: Connection | undefined;
|
let CONNECTION: ServerlessMysql | undefined;
|
||||||
let results: T[] | T | null;
|
let results: T[] | T | null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
CONNECTION = await grabDSQLConnection({ database, config });
|
CONNECTION = await grabDSQLConnection({ database, config });
|
||||||
|
|
||||||
if (query && values) {
|
if (query && values) {
|
||||||
const queryResults = await CONNECTION.query(query, values);
|
const queryResults = (await CONNECTION.query(query, values)) as
|
||||||
results = queryResults[0];
|
| T
|
||||||
|
| T[];
|
||||||
|
results = queryResults;
|
||||||
} else {
|
} else {
|
||||||
const queryResults = await CONNECTION.query(query);
|
const queryResults = (await CONNECTION.query(query)) as T | T[];
|
||||||
results = queryResults[0];
|
results = queryResults;
|
||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
console.log("Connection Info =>", CONNECTION?.info);
|
console.log("Connection Info =>", CONNECTION?.getConfig());
|
||||||
|
|
||||||
if (
|
if (
|
||||||
error.message &&
|
error.message &&
|
||||||
|
@ -16,7 +16,7 @@ import grabDSQLConnection from "../utils/grab-dsql-connection";
|
|||||||
const CONNECTION = await grabDSQLConnection();
|
const CONNECTION = await grabDSQLConnection();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const [result] = await CONNECTION.query(
|
const result = await CONNECTION.query(
|
||||||
"SELECT id,first_name,last_name FROM users LIMIT 3"
|
"SELECT id,first_name,last_name FROM users LIMIT 3"
|
||||||
);
|
);
|
||||||
console.log("Connection Query Success =>", result);
|
console.log("Connection Query Success =>", result);
|
||||||
|
@ -21,7 +21,7 @@ import grabDSQLConnection from "../utils/grab-dsql-connection";
|
|||||||
* @description If a database is provided, switch to it
|
* @description If a database is provided, switch to it
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
const [result] = await CONNECTION.query("SHOW DATABASES");
|
const result = await CONNECTION.query("SHOW DATABASES");
|
||||||
|
|
||||||
const parsedResults = JSON.parse(JSON.stringify(result));
|
const parsedResults = JSON.parse(JSON.stringify(result));
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@ import grabSQLKeyName from "../utils/grab-sql-key-name";
|
|||||||
const CONNECTION = await grabDSQLConnection();
|
const CONNECTION = await grabDSQLConnection();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const [result] = await CONNECTION.query(
|
const result = (await CONNECTION.query(
|
||||||
"SELECT user,host,ssl_type FROM mysql.user"
|
"SELECT user,host,ssl_type FROM mysql.user"
|
||||||
);
|
)) as any[];
|
||||||
|
|
||||||
for (let i = 0; i < result.length; i++) {
|
for (let i = 0; i < result.length; i++) {
|
||||||
const user = result[i];
|
const user = result[i];
|
||||||
@ -38,7 +38,7 @@ import grabSQLKeyName from "../utils/grab-sql-key-name";
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const [addUserSSL] = await CONNECTION.query(
|
const addUserSSL = await CONNECTION.query(
|
||||||
`ALTER USER '${User}'@'${Host}'`
|
`ALTER USER '${User}'@'${Host}'`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -2,13 +2,15 @@ import fs from "fs";
|
|||||||
import grabDirNames from "./names/grab-dir-names";
|
import grabDirNames from "./names/grab-dir-names";
|
||||||
import type { ConnectionConfig } from "mariadb";
|
import type { ConnectionConfig } from "mariadb";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
import serverlessMysql from "serverless-mysql";
|
||||||
|
import { ConnectionOptions } from "tls";
|
||||||
|
|
||||||
type Return = ConnectionConfig["ssl"] | undefined;
|
// type Return = ConnectionConfig["ssl"] | undefined;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* # Grab SSL
|
* # Grab SSL
|
||||||
*/
|
*/
|
||||||
export default function grabDbSSL(): Return {
|
export default function grabDbSSL(): any {
|
||||||
let maxscaleSSLCaCertFileFinal;
|
let maxscaleSSLCaCertFileFinal;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -43,10 +43,10 @@ export default async function connDbHandler<ReturnType = any>(
|
|||||||
let queryErrorArray: DSQLErrorObject[] = [];
|
let queryErrorArray: DSQLErrorObject[] = [];
|
||||||
|
|
||||||
if (typeof query == "string") {
|
if (typeof query == "string") {
|
||||||
const [results] = await finalConnection.query(
|
const results = (await finalConnection.query(
|
||||||
trimQuery(query),
|
trimQuery(query),
|
||||||
values
|
values
|
||||||
);
|
)) as any;
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
debugLog({
|
debugLog({
|
||||||
@ -74,7 +74,7 @@ export default async function connDbHandler<ReturnType = any>(
|
|||||||
queryObj.values
|
queryObj.values
|
||||||
);
|
);
|
||||||
|
|
||||||
const results = queryObjRes[0];
|
const results = queryObjRes;
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
debugLog({
|
debugLog({
|
||||||
@ -106,7 +106,7 @@ export default async function connDbHandler<ReturnType = any>(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return resArray;
|
return resArray as ReturnType;
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
import mysql from "mysql";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* # End MYSQL Connection
|
|
||||||
*/
|
|
||||||
function endConnection(connection: mysql.Connection) {
|
|
||||||
if (connection.state !== "disconnected") {
|
|
||||||
connection.end((err) => {
|
|
||||||
console.log(err?.message);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default endConnection;
|
|
@ -1,37 +1,43 @@
|
|||||||
import { ConnectionConfig } from "mariadb";
|
import { ConnectionConfig } from "mariadb";
|
||||||
import grabDbSSL from "./backend/grabDbSSL";
|
import grabDbSSL from "./backend/grabDbSSL";
|
||||||
import { DsqlConnectionParam } from "../types";
|
import { DsqlConnectionParam } from "../types";
|
||||||
|
import serverlessMysql from "serverless-mysql";
|
||||||
|
import { ConnectionOptions } from "tls";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
export default function grabDSQLConnectionConfig(
|
export default function grabDSQLConnectionConfig(
|
||||||
param?: DsqlConnectionParam
|
param?: DsqlConnectionParam
|
||||||
): ConnectionConfig {
|
): serverlessMysql.Config {
|
||||||
const CONN_TIMEOUT = 10000;
|
const CONN_TIMEOUT = 10000;
|
||||||
|
|
||||||
const config: ConnectionConfig = {
|
const config: serverlessMysql.Config = {
|
||||||
host: process.env.DSQL_DB_HOST,
|
config: {
|
||||||
user: process.env.DSQL_DB_USERNAME,
|
host: process.env.DSQL_DB_HOST,
|
||||||
password: process.env.DSQL_DB_PASSWORD,
|
user: process.env.DSQL_DB_USERNAME,
|
||||||
database:
|
password: process.env.DSQL_DB_PASSWORD,
|
||||||
param?.database ||
|
database:
|
||||||
(param?.noDb ? undefined : process.env.DSQL_DB_NAME),
|
param?.database ||
|
||||||
port: process.env.DSQL_DB_PORT
|
(param?.noDb ? undefined : process.env.DSQL_DB_NAME),
|
||||||
? Number(process.env.DSQL_DB_PORT)
|
port: process.env.DSQL_DB_PORT
|
||||||
: undefined,
|
? Number(process.env.DSQL_DB_PORT)
|
||||||
charset: "utf8mb4",
|
: undefined,
|
||||||
ssl: grabDbSSL(),
|
charset: "utf8mb4",
|
||||||
bigIntAsNumber: true,
|
ssl: grabDbSSL(),
|
||||||
supportBigNumbers: true,
|
connectTimeout: CONN_TIMEOUT,
|
||||||
bigNumberStrings: false,
|
dateStrings: true,
|
||||||
dateStrings: true,
|
compress: true,
|
||||||
metaAsArray: true,
|
decimalNumbers: true,
|
||||||
socketTimeout: CONN_TIMEOUT,
|
// supportBigNumbers: true,
|
||||||
connectTimeout: CONN_TIMEOUT,
|
// bigNumberStrings: false,
|
||||||
compress: true,
|
// bigIntAsNumber: true,
|
||||||
...param?.config,
|
// metaAsArray: true,
|
||||||
|
// socketTimeout: CONN_TIMEOUT,
|
||||||
|
// ...param?.config,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return config;
|
return _.merge(config, param?.config);
|
||||||
}
|
}
|
||||||
|
@ -2,17 +2,19 @@ import mariadb, { Connection, ConnectionConfig } from "mariadb";
|
|||||||
import grabDbSSL from "./backend/grabDbSSL";
|
import grabDbSSL from "./backend/grabDbSSL";
|
||||||
import { DsqlConnectionParam } from "../types";
|
import { DsqlConnectionParam } from "../types";
|
||||||
import grabDSQLConnectionConfig from "./grab-dsql-connection-config";
|
import grabDSQLConnectionConfig from "./grab-dsql-connection-config";
|
||||||
|
import serverlessMysql, { ServerlessMysql } from "serverless-mysql";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* # Grab General CONNECTION for DSQL
|
* # Grab General CONNECTION for DSQL
|
||||||
*/
|
*/
|
||||||
export default async function grabDSQLConnection(
|
export default async function grabDSQLConnection(
|
||||||
param?: DsqlConnectionParam
|
param?: DsqlConnectionParam
|
||||||
): Promise<Connection> {
|
): Promise<ServerlessMysql> {
|
||||||
const config = grabDSQLConnectionConfig(param);
|
const config = grabDSQLConnectionConfig(param);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return await mariadb.createConnection(config);
|
const sql = serverlessMysql(config);
|
||||||
|
return sql;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(`Error Grabbing DSQL Connection =>`, config);
|
console.log(`Error Grabbing DSQL Connection =>`, config);
|
||||||
throw error;
|
throw error;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/datasquirel",
|
"name": "@moduletrace/datasquirel",
|
||||||
"version": "5.1.5",
|
"version": "5.1.6",
|
||||||
"description": "Cloud-based SQL data management tool",
|
"description": "Cloud-based SQL data management tool",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
@ -32,7 +32,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/ace": "^0.0.52",
|
"@types/ace": "^0.0.52",
|
||||||
"@types/lodash": "^4.17.13",
|
"@types/lodash": "^4.17.13",
|
||||||
"@types/mysql": "^2.15.21",
|
|
||||||
"@types/next": "^9.0.0",
|
"@types/next": "^9.0.0",
|
||||||
"@types/node": "^22.7.5",
|
"@types/node": "^22.7.5",
|
||||||
"@types/nodemailer": "^6.4.17",
|
"@types/nodemailer": "^6.4.17",
|
||||||
@ -46,6 +45,7 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mariadb": "^3.4.4",
|
"mariadb": "^3.4.4",
|
||||||
"nodemailer": "^6.9.14",
|
"nodemailer": "^6.9.14",
|
||||||
"sanitize-html": "^2.13.1"
|
"sanitize-html": "^2.13.1",
|
||||||
|
"serverless-mysql": "^2.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user