This commit is contained in:
Benjamin Toby
2025-01-14 11:53:57 +01:00
parent 03d4fdc270
commit 0731e8cb6c
14 changed files with 131 additions and 136 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, dbUserId, }: 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, debug, }: APILoginFunctionParams): Promise<APILoginFunctionReturn>;
+23 -2
View File
@@ -20,7 +20,7 @@ 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, dbUserId, }) {
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, debug, }) {
const dbFullName = (0, grab_db_full_name_1.default)({ dbName: database, userId: dbUserId });
/**
* Check input validity
@@ -46,13 +46,20 @@ function apiLoginUser(_a) {
password: password,
})
: null;
console.log(`Logging in: Checking for Existing user in ${dbFullName} database.`);
if (debug) {
console.log("apiLoginUser:database:", dbFullName);
console.log("apiLoginUser:Finding User ...");
}
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
database: dbFullName,
useLocal,
debug,
});
if (debug) {
console.log("apiLoginUser:foundUser:", foundUser);
}
if ((!foundUser || !foundUser[0]) && !social)
return {
success: false,
@@ -60,6 +67,9 @@ function apiLoginUser(_a) {
msg: "No user found",
};
let isPasswordCorrect = false;
if (debug) {
console.log("apiLoginUser:isPasswordCorrect:", isPasswordCorrect);
}
if ((foundUser === null || foundUser === void 0 ? void 0 : foundUser[0]) && !email_login && skipPassword) {
isPasswordCorrect = true;
}
@@ -72,6 +82,9 @@ function apiLoginUser(_a) {
email_login_code &&
email_login_field) {
const tempCode = foundUser[0][email_login_field];
if (debug) {
console.log("apiLoginUser:tempCode:", tempCode);
}
if (!tempCode)
throw new Error("No code Found!");
const tempCodeArray = tempCode.split("-");
@@ -90,6 +103,10 @@ function apiLoginUser(_a) {
payload: null,
};
}
if (debug) {
console.log("apiLoginUser:isPasswordCorrect:", isPasswordCorrect);
console.log("apiLoginUser:email_login:", email_login);
}
if (isPasswordCorrect && email_login) {
const resetTempCode = yield (0, varDatabaseDbHandler_1.default)({
queryString: `UPDATE ${dbFullName}.users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
@@ -119,6 +136,10 @@ function apiLoginUser(_a) {
logged_in_status: true,
date: Date.now(),
};
if (debug) {
console.log("apiLoginUser:userPayload:", userPayload);
console.log("apiLoginUser:Sending Response Object ...");
}
const resposeObject = {
success: true,
msg: "Login Successful",
@@ -4,9 +4,10 @@ type Param = {
database?: string;
tableSchema?: import("../../types").DSQL_TableSchemaType;
useLocal?: boolean;
debug?: boolean;
};
/**
* # DB handler for specific database
*/
export default function varDatabaseDbHandler({ queryString, queryValuesArray, database, tableSchema, useLocal, }: Param): Promise<any>;
export default function varDatabaseDbHandler({ queryString, queryValuesArray, database, tableSchema, useLocal, debug, }: Param): Promise<any>;
export {};
+14 -57
View File
@@ -15,69 +15,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = varDatabaseDbHandler;
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
const serverError_1 = __importDefault(require("./serverError"));
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 LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER"));
const grab_dsql_connection_1 = __importDefault(require("../../utils/grab-dsql-connection"));
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
/**
* # DB handler for specific database
*/
function varDatabaseDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, useLocal, }) {
/**
* Declare variables
*
* @description Declare "results" variable
*/
const isMaster = useLocal
? true
: (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/))
? true
: false;
const FINAL_DB_HANDLER = useLocal
? LOCAL_DB_HANDLER_1.default
: isMaster
? DB_HANDLER_1.default
: DSQL_USER_DB_HANDLER_1.default;
let results;
/**
* Fetch from db
*
* @description Fetch data from db if no cache
*/
try {
if (queryString &&
queryValuesArray &&
Array.isArray(queryValuesArray) &&
queryValuesArray[0]) {
results = isMaster
? yield FINAL_DB_HANDLER(queryString, queryValuesArray)
: yield FINAL_DB_HANDLER({
paradigm: "Full Access",
queryString,
queryValues: queryValuesArray,
});
}
else {
results = isMaster
? yield FINAL_DB_HANDLER(queryString)
: yield FINAL_DB_HANDLER({
paradigm: "Full Access",
queryString,
});
}
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, useLocal, debug, }) {
let CONNECTION = (0, grab_dsql_connection_1.default)({ fa: true });
if (useLocal)
CONNECTION = (0, grab_dsql_connection_1.default)({ local: true });
if (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/))
CONNECTION = (0, grab_dsql_connection_1.default)();
if (debug) {
console.log(`varDatabaseDbHandler:query:`, queryString);
console.log(`varDatabaseDbHandler:values:`, queryValuesArray);
}
catch (error) {
console.log(`varDatabaseDbHandler Error: ${error.message}`);
(0, serverError_1.default)({
component: "varDatabaseDbHandler/lines-29-32",
message: error.message,
});
let results = yield (0, conn_db_handler_1.default)(CONNECTION, queryString, queryValuesArray);
if (debug) {
console.log(`varDatabaseDbHandler:results:`, results);
}
/**
* Return results
*
* @description Return results add to cache if "req" param is passed
*/
if (results && tableSchema) {
try {
const unparsedResults = results;