From fdd3913f4f3dd0f75e9ebca63935c23874b1e546 Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Mon, 20 Jan 2025 08:12:01 +0100 Subject: [PATCH] Updates --- .../api/social-login/loginSocialUser.js | 5 ++--- .../api/users/social/api-google-login.js | 1 - .../functions/backend/varDatabaseDbHandler.js | 2 +- .../utils/grab-dsql-connection.js | 19 +++++++++++++++- dist/users/social/google-auth.js | 1 - .../api/social-login/loginSocialUser.ts | 14 +++++++----- .../api/users/social/api-google-login.ts | 1 - .../functions/backend/varDatabaseDbHandler.ts | 2 +- package-shared/utils/grab-dsql-connection.ts | 22 ++++++++++++++++++- package.json | 2 +- users/social/google-auth.ts | 8 +++---- 11 files changed, 55 insertions(+), 22 deletions(-) diff --git a/dist/package-shared/functions/api/social-login/loginSocialUser.js b/dist/package-shared/functions/api/social-login/loginSocialUser.js index d863c16..ab27ef8 100644 --- a/dist/package-shared/functions/api/social-login/loginSocialUser.js +++ b/dist/package-shared/functions/api/social-login/loginSocialUser.js @@ -24,7 +24,8 @@ const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabas function loginSocialUser(_a) { return __awaiter(this, arguments, void 0, function* ({ user, social_platform, invitation, database, additionalFields, useLocal, }) { const finalDbName = database ? database : "datasquirel"; - const foundUserQuery = `SELECT * FROM \`${finalDbName}\`.\`users\` WHERE email=? AND social_id=? AND social_platform=?`; + const dbAppend = database ? `\`${finalDbName}\`.` : ""; + const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=? AND social_id=? AND social_platform=?`; const foundUserValues = [user.email, user.social_id, social_platform]; const foundUser = yield (0, varDatabaseDbHandler_1.default)({ database: finalDbName, @@ -40,7 +41,6 @@ function loginSocialUser(_a) { let csrfKey = Math.random().toString(36).substring(2) + "-" + Math.random().toString(36).substring(2); - /** @type {import("../../../types").DATASQUIREL_LoggedInUser} */ let userPayload = { id: foundUser[0].id, first_name: foundUser[0].first_name, @@ -70,7 +70,6 @@ function loginSocialUser(_a) { useLocal, }); } - /** @type {import("../../../types").APILoginFunctionReturn} */ let result = { success: true, payload: userPayload, diff --git a/dist/package-shared/functions/api/users/social/api-google-login.js b/dist/package-shared/functions/api/users/social/api-google-login.js index c61987c..66b097b 100644 --- a/dist/package-shared/functions/api/users/social/api-google-login.js +++ b/dist/package-shared/functions/api/users/social/api-google-login.js @@ -60,7 +60,6 @@ function apiGoogleLogin(_a) { * @description Create new user folder and file */ const { given_name, family_name, email, sub, picture } = gUser; - /** @type {Object} */ let payloadObject = { email: email, first_name: given_name, diff --git a/dist/package-shared/functions/backend/varDatabaseDbHandler.js b/dist/package-shared/functions/backend/varDatabaseDbHandler.js index 5462949..c778956 100644 --- a/dist/package-shared/functions/backend/varDatabaseDbHandler.js +++ b/dist/package-shared/functions/backend/varDatabaseDbHandler.js @@ -22,7 +22,7 @@ const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handle */ function varDatabaseDbHandler(_a) { return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, useLocal, debug, }) { - let CONNECTION = (0, grab_dsql_connection_1.default)({ fa: true }); + let CONNECTION = (0, grab_dsql_connection_1.default)({ fa: true, local: useLocal }); if (useLocal) CONNECTION = (0, grab_dsql_connection_1.default)({ local: true }); if (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/)) diff --git a/dist/package-shared/utils/grab-dsql-connection.js b/dist/package-shared/utils/grab-dsql-connection.js index c421778..52c9cd2 100644 --- a/dist/package-shared/utils/grab-dsql-connection.js +++ b/dist/package-shared/utils/grab-dsql-connection.js @@ -9,8 +9,25 @@ const serverless_mysql_1 = __importDefault(require("serverless-mysql")); * # Grab General CONNECTION for DSQL */ function grabDSQLConnection(param) { + if (param === null || param === void 0 ? void 0 : param.local) { + return (global.DSQL_DB_CONN || + (0, serverless_mysql_1.default)({ + config: { + 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.noDb) + ? undefined + : process.env.DSQL_DB_NAME, + port: process.env.DSQL_DB_PORT + ? Number(process.env.DSQL_DB_PORT) + : undefined, + charset: "utf8mb4", + }, + })); + } if (param === null || param === void 0 ? void 0 : param.ro) { - return (DSQL_READ_ONLY_DB_CONN || + return (global.DSQL_READ_ONLY_DB_CONN || (0, serverless_mysql_1.default)({ config: { host: process.env.DSQL_DB_HOST, diff --git a/dist/users/social/google-auth.js b/dist/users/social/google-auth.js index 97fb11b..efff29e 100644 --- a/dist/users/social/google-auth.js +++ b/dist/users/social/google-auth.js @@ -59,7 +59,6 @@ function googleAuth(_a) { /** * Initialize HTTP response variable */ - /** @type {import("../../package-shared/types").APILoginFunctionReturn} */ let httpResponse = { success: false, }; diff --git a/package-shared/functions/api/social-login/loginSocialUser.ts b/package-shared/functions/api/social-login/loginSocialUser.ts index 9d71f3d..fcc8170 100644 --- a/package-shared/functions/api/social-login/loginSocialUser.ts +++ b/package-shared/functions/api/social-login/loginSocialUser.ts @@ -1,6 +1,9 @@ import addAdminUserOnLogin from "../../backend/addAdminUserOnLogin"; import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler"; -import { APILoginFunctionReturn } from "../../../types"; +import { + APILoginFunctionReturn, + DATASQUIREL_LoggedInUser, +} from "../../../types"; type Param = { user: { @@ -31,8 +34,9 @@ export default async function loginSocialUser({ useLocal, }: Param): Promise { const finalDbName = database ? database : "datasquirel"; + const dbAppend = database ? `\`${finalDbName}\`.` : ""; - const foundUserQuery = `SELECT * FROM \`${finalDbName}\`.\`users\` WHERE email=? AND social_id=? AND social_platform=?`; + const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=? AND social_id=? AND social_platform=?`; const foundUserValues = [user.email, user.social_id, social_platform]; const foundUser = await varDatabaseDbHandler({ @@ -53,8 +57,7 @@ export default async function loginSocialUser({ "-" + Math.random().toString(36).substring(2); - /** @type {import("../../../types").DATASQUIREL_LoggedInUser} */ - let userPayload: import("../../../types").DATASQUIREL_LoggedInUser = { + let userPayload: DATASQUIREL_LoggedInUser = { id: foundUser[0].id, first_name: foundUser[0].first_name, last_name: foundUser[0].last_name, @@ -86,8 +89,7 @@ export default async function loginSocialUser({ }); } - /** @type {import("../../../types").APILoginFunctionReturn} */ - let result: import("../../../types").APILoginFunctionReturn = { + let result: APILoginFunctionReturn = { success: true, payload: userPayload, csrf: csrfKey, diff --git a/package-shared/functions/api/users/social/api-google-login.ts b/package-shared/functions/api/users/social/api-google-login.ts index 8c49a99..68f52f4 100644 --- a/package-shared/functions/api/users/social/api-google-login.ts +++ b/package-shared/functions/api/users/social/api-google-login.ts @@ -65,7 +65,6 @@ export default async function apiGoogleLogin({ const { given_name, family_name, email, sub, picture } = gUser; - /** @type {Object} */ let payloadObject: { [s: string]: any } = { email: email, first_name: given_name, diff --git a/package-shared/functions/backend/varDatabaseDbHandler.ts b/package-shared/functions/backend/varDatabaseDbHandler.ts index ae6f7d0..a30534d 100644 --- a/package-shared/functions/backend/varDatabaseDbHandler.ts +++ b/package-shared/functions/backend/varDatabaseDbHandler.ts @@ -23,7 +23,7 @@ export default async function varDatabaseDbHandler({ useLocal, debug, }: Param): Promise { - let CONNECTION = grabDSQLConnection({ fa: true }); + let CONNECTION = grabDSQLConnection({ fa: true, local: useLocal }); if (useLocal) CONNECTION = grabDSQLConnection({ local: true }); if (database?.match(/^datasquirel$/)) CONNECTION = grabDSQLConnection(); diff --git a/package-shared/utils/grab-dsql-connection.ts b/package-shared/utils/grab-dsql-connection.ts index ac81f94..747d0ce 100644 --- a/package-shared/utils/grab-dsql-connection.ts +++ b/package-shared/utils/grab-dsql-connection.ts @@ -23,9 +23,29 @@ type Param = { * # Grab General CONNECTION for DSQL */ export default function grabDSQLConnection(param?: Param): ServerlessMysql { + if (param?.local) { + return ( + global.DSQL_DB_CONN || + mysql({ + config: { + host: process.env.DSQL_DB_HOST, + user: process.env.DSQL_DB_USERNAME, + password: process.env.DSQL_DB_PASSWORD, + database: param?.noDb + ? undefined + : process.env.DSQL_DB_NAME, + port: process.env.DSQL_DB_PORT + ? Number(process.env.DSQL_DB_PORT) + : undefined, + charset: "utf8mb4", + }, + }) + ); + } + if (param?.ro) { return ( - DSQL_READ_ONLY_DB_CONN || + global.DSQL_READ_ONLY_DB_CONN || mysql({ config: { host: process.env.DSQL_DB_HOST, diff --git a/package.json b/package.json index 2d32f93..9720604 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "3.7.4", + "version": "3.7.5", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": { diff --git a/users/social/google-auth.ts b/users/social/google-auth.ts index f9ac610..412a4e8 100644 --- a/users/social/google-auth.ts +++ b/users/social/google-auth.ts @@ -77,11 +77,9 @@ export default async function googleAuth({ * Initialize HTTP response variable */ - /** @type {import("../../package-shared/types").APILoginFunctionReturn} */ - let httpResponse: import("../../package-shared/types").APILoginFunctionReturn = - { - success: false, - }; + let httpResponse: APILoginFunctionReturn = { + success: false, + }; /** * Check for local DB settings