This commit is contained in:
Benjamin Toby
2025-01-14 11:33:30 +01:00
parent d55fe64d47
commit 03d4fdc270
12 changed files with 79 additions and 52 deletions
+1 -1
View File
@@ -2,4 +2,4 @@ import { APILoginFunctionParams, APILoginFunctionReturn } from "../../../types";
/**
* # API Login
*/
export default function apiLoginUser({ encryptionKey, email, username, password, database, additionalFields, email_login, email_login_code, email_login_field, token, skipPassword, social, useLocal, }: APILoginFunctionParams): Promise<APILoginFunctionReturn>;
export default function apiLoginUser({ encryptionKey, email, username, password, database, additionalFields, email_login, email_login_code, email_login_field, token, skipPassword, social, useLocal, dbUserId, }: APILoginFunctionParams): Promise<APILoginFunctionReturn>;
+4 -4
View File
@@ -13,14 +13,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiLoginUser;
const grab_db_full_name_1 = __importDefault(require("../../../utils/grab-db-full-name"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/**
* # API Login
*/
function apiLoginUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ encryptionKey, email, username, password, database, additionalFields, email_login, email_login_code, email_login_field, token, skipPassword, social, useLocal, }) {
const dbFullName = database.replace(/[^a-z0-9_]/g, "");
return __awaiter(this, arguments, void 0, function* ({ encryptionKey, email, username, password, database, additionalFields, email_login, email_login_code, email_login_field, token, skipPassword, social, useLocal, dbUserId, }) {
const dbFullName = (0, grab_db_full_name_1.default)({ dbName: database, userId: dbUserId });
/**
* Check input validity
*
@@ -45,14 +46,13 @@ function apiLoginUser(_a) {
password: password,
})
: null;
console.log("Finding DSQL User ...");
console.log(`Logging in: Checking for Existing user in ${dbFullName} database.`);
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
database: dbFullName,
useLocal,
});
console.log("foundUser", foundUser);
if ((!foundUser || !foundUser[0]) && !social)
return {
success: false,
+2
View File
@@ -143,6 +143,7 @@ export interface PackageUserLoginRequestBody {
social?: boolean;
dbSchema?: DSQL_DatabaseSchemaType;
skipPassword?: boolean;
dbUserId: string | number;
}
export interface PackageUserLoginLocalBody {
payload: any;
@@ -1026,6 +1027,7 @@ export type APILoginFunctionParams = {
skipPassword?: boolean;
social?: boolean;
useLocal?: boolean;
dbUserId?: number | string;
};
export type APILoginFunctionReturn = {
success: boolean;
+9
View File
@@ -0,0 +1,9 @@
type Param = {
dbName: string;
userId?: string | number;
};
/**
* # Grab Database Full Name
*/
export default function grabDbFullName({ dbName, userId }: Param): string;
export {};
+14
View File
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = grabDbFullName;
/**
* # Grab Database Full Name
*/
function grabDbFullName({ dbName, userId }) {
const sanitizedName = dbName.replace(/[^a-z0-9\_]/g, "");
const cleanedDbName = sanitizedName.replace(/datasquirel_user_\d+_/, "");
if (!userId)
return cleanedDbName;
const dbNamePrefix = `datasquirel_user_${userId}_`;
return dbNamePrefix + cleanedDbName;
}