This commit is contained in:
Benjamin Toby
2025-07-09 20:30:45 +01:00
parent ccb5605b58
commit c37d105dee
264 changed files with 2389 additions and 3743 deletions
+13 -1
View File
@@ -68,7 +68,19 @@ function queryDSQLAPI(_a) {
});
response.on("end", function () {
try {
resolve(JSON.parse(str));
const responseObj = JSON.parse(str);
if (!responseObj.success) {
// console.log("responseObj", responseObj);
// console.log(
// "response.headers",
// response.headers
// );
// console.log(
// "httpsRequest.headers",
// httpsRequest.getHeaders()
// );
}
resolve(responseObj);
}
catch (error) {
resolve({
+5 -7
View File
@@ -1,18 +1,16 @@
import { DbContextsArray } from "../../backend/db/runQuery";
import { ApiGetQueryObject } from "../../../types";
import { DSQL_DatabaseSchemaType, DsqlCrudQueryObject, GetReturn } from "../../../types";
type Param<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = {
query: string | ApiGetQueryObject<T>;
queryValues?: (string | number)[];
query: DsqlCrudQueryObject<T>;
dbFullName: string;
tableName?: string;
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
tableName: string;
dbSchema?: DSQL_DatabaseSchemaType;
debug?: boolean;
dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
};
/**
* # Get Function FOr API
@@ -21,5 +19,5 @@ export default function apiGet<T extends {
[key: string]: any;
} = {
[key: string]: any;
}>({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }: Param<T>): Promise<import("../../../types").GetReturn>;
}>({ query, dbFullName, tableName, dbSchema, debug, }: Param<T>): Promise<GetReturn>;
export {};
+14 -69
View File
@@ -13,79 +13,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiGet;
const lodash_1 = __importDefault(require("lodash"));
const serverError_1 = __importDefault(require("../../backend/serverError"));
const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
const grab_query_and_values_1 = __importDefault(require("../../../utils/grab-query-and-values"));
const sql_generator_1 = __importDefault(require("../../dsql/sql/sql-generator"));
const crud_1 = __importDefault(require("../../../utils/data-fetching/crud"));
/**
* # Get Function FOr API
*/
function apiGet(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }) {
var _b, _c;
const queryAndValues = (0, grab_query_and_values_1.default)({
query,
values: queryValues,
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, tableName, dbSchema, debug, }) {
const queryAndValues = (0, sql_generator_1.default)({
tableName,
genObject: query,
dbFullName,
});
if (typeof query == "string" && query.match(/^alter|^delete|^create/i)) {
return { success: false, msg: "Wrong Input." };
}
let results;
try {
let { result, error } = yield (0, runQuery_1.default)({
dbFullName: dbFullName,
query: queryAndValues.query,
queryValuesArray: queryAndValues.values,
readOnly: true,
dbSchema,
tableName,
dbContext,
debug,
forceLocal,
});
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:result", result);
console.log("apiGet:error", error);
}
let tableSchema;
if (dbSchema) {
const targetTable = (_b = dbSchema.tables) === null || _b === void 0 ? void 0 : _b.find((table) => table.tableName === tableName);
if (targetTable) {
const clonedTargetTable = lodash_1.default.cloneDeep(targetTable);
delete clonedTargetTable.childTable;
delete clonedTargetTable.childrenTables;
delete clonedTargetTable.updateData;
delete clonedTargetTable.indexes;
tableSchema = clonedTargetTable;
}
}
if (error)
throw error;
if (result.error)
throw new Error(result.error);
results = result;
const resObject = {
success: true,
payload: results,
schema: tableName && tableSchema ? tableSchema : undefined,
};
return resObject;
}
catch (error) {
(0, serverError_1.default)({
component: "/api/query/get/lines-85-94",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Get Error`, error);
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:error", error.message);
console.log("queryAndValues", queryAndValues);
}
return {
success: false,
payload: null,
error: error.message,
};
}
const result = yield (0, crud_1.default)({
action: "get",
table: tableName,
dbFullName,
query,
});
return result;
});
}
+1 -2
View File
@@ -7,11 +7,10 @@ type Param = {
tableName?: string;
dbSchema?: DSQL_DatabaseSchemaType;
dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
debug?: boolean;
};
/**
* # Post Function For API
*/
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }: Param): Promise<PostReturn>;
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }: Param): Promise<PostReturn>;
export {};
+2 -4
View File
@@ -21,8 +21,8 @@ const debug_log_1 = __importDefault(require("../../../utils/logging/debug-log"))
* # Post Function For API
*/
function apiPost(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }) {
var _b, _c;
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }) {
var _b;
if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) {
return { success: false, msg: "Wrong Input" };
}
@@ -44,7 +44,6 @@ function apiPost(_a) {
queryValuesArray: queryValues,
tableName,
dbContext,
forceLocal,
debug,
});
if (debug) {
@@ -86,7 +85,6 @@ function apiPost(_a) {
component: "/api/query/post/lines-132-142",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Post Error`, error);
return {
success: false,
payload: results,
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = facebookLogin;
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const serverError_1 = __importDefault(require("../../backend/serverError"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/**
@@ -22,14 +22,18 @@ const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
function facebookLogin(_a) {
return __awaiter(this, arguments, void 0, function* ({ usertype, body, }) {
try {
const foundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`);
const foundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`,
values: [body.facebookUserEmail],
}));
if (foundUser && foundUser[0]) {
return foundUser[0];
}
let socialHashedPassword = (0, hashPassword_1.default)({
password: body.facebookUserId,
});
let newUser = yield (0, DB_HANDLER_1.default)(`INSERT INTO ${usertype} (
let newUser = (yield (0, dbHandler_1.default)({
query: `INSERT INTO ${usertype} (
first_name,
last_name,
social_platform,
@@ -49,8 +53,8 @@ function facebookLogin(_a) {
'${body.facebookUserLastName}',
'facebook',
'facebook_${body.facebookUserEmail
? body.facebookUserEmail.replace(/@.*/, "")
: body.facebookUserFirstName.toLowerCase()}',
? body.facebookUserEmail.replace(/@.*/, "")
: body.facebookUserFirstName.toLowerCase()}',
'${body.facebookUserEmail}',
'${body.facebookUserImage}',
'${body.facebookUserImage}',
@@ -61,8 +65,20 @@ function facebookLogin(_a) {
'1',
'${Date()}',
'${Date.now()}'
)`);
const newFoundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`);
)`,
values: [
body.facebookUserFirstName,
body.facebookUserLastName,
body.facebookUserEmail,
body.facebookUserImage,
socialHashedPassword,
body.facebookUserId,
],
}));
const newFoundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE id=?`,
values: (newUser === null || newUser === void 0 ? void 0 : newUser.insertId) ? [newUser === null || newUser === void 0 ? void 0 : newUser.insertId] : [],
}));
}
catch ( /** @type {any} */error) {
(0, serverError_1.default)({
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = githubLogin;
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const httpsRequest_1 = __importDefault(require("../../backend/httpsRequest"));
/**
* # Login/signup a github user
@@ -48,7 +48,10 @@ function githubLogin(_a) {
});
gitHubUser = JSON.parse(userDataResponse);
if (!(gitHubUser === null || gitHubUser === void 0 ? void 0 : gitHubUser.email) && gitHubUser) {
const existingGithubUser = yield (0, DB_HANDLER_1.default)(`SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`);
const existingGithubUser = (yield (0, dbHandler_1.default)({
query: `SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`,
values: [gitHubUser.id],
}));
if (existingGithubUser && existingGithubUser[0]) {
gitHubUser.email = existingGithubUser[0].email;
}
+21 -11
View File
@@ -15,14 +15,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = googleLogin;
const google_auth_library_1 = require("google-auth-library");
const serverError_1 = __importDefault(require("../../backend/serverError"));
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/**
* # Google Login
*/
function googleLogin(_a) {
return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) {
var _b, _c;
var _b;
const client = new google_auth_library_1.OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID);
let isGoogleAuthValid = false;
let newFoundUser = null;
@@ -54,8 +54,11 @@ function googleLogin(_a) {
////////////////////////////////////////////////
////////////////////////////////////////////////
////////////////////////////////////////////////
let existinEmail = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`);
if (existinEmail && existinEmail[0]) {
let existinEmail = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`,
values: [payload.email],
}));
if (existinEmail === null || existinEmail === void 0 ? void 0 : existinEmail[0]) {
loginFailureReason = "Email Exists Already";
isGoogleAuthValid = false;
return {
@@ -65,8 +68,11 @@ function googleLogin(_a) {
};
}
////////////////////////////////////////
foundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login='1' AND social_platform='google'`);
if (foundUser && foundUser[0]) {
foundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE email=? AND social_login='1' AND social_platform='google'`,
values: [payload.email],
}));
if (foundUser === null || foundUser === void 0 ? void 0 : foundUser[0]) {
newFoundUser = foundUser;
return {
isGoogleAuthValid: isGoogleAuthValid,
@@ -76,9 +82,10 @@ function googleLogin(_a) {
////////////////////////////////////////////////
////////////////////////////////////////////////
////////////////////////////////////////////////
let newUser = yield (0, DB_HANDLER_1.default)(`INSERT INTO ${usertype} (
let newUser = (yield (0, dbHandler_1.default)({
query: `INSERT INTO ${usertype} (
first_name,
last_name,
last_name,
social_platform,
social_name,
social_id,
@@ -106,15 +113,18 @@ function googleLogin(_a) {
'1',
'${Date()}',
'${Date.now()}'
)`);
newFoundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`);
)`,
}));
newFoundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE id=?`,
values: [newUser.insertId],
}));
}
catch (error) {
(0, serverError_1.default)({
component: "googleLogin",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Google Login Error`, error);
loginFailureReason = error;
isUserValid = false;
isSocialValidated = false;
@@ -17,7 +17,7 @@ const fs_1 = __importDefault(require("fs"));
const handleNodemailer_1 = __importDefault(require("../../backend/handleNodemailer"));
const path_1 = __importDefault(require("path"));
const addMariadbUser_1 = __importDefault(require("../../backend/addMariadbUser"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry"));
const loginSocialUser_1 = __importDefault(require("./loginSocialUser"));
@@ -27,26 +27,20 @@ const grab_dir_names_1 = __importDefault(require("../../../utils/backend/names/g
*/
function handleSocialDb(_a) {
return __awaiter(this, arguments, void 0, function* ({ database, email, social_platform, payload, invitation, supEmail, additionalFields, debug, loginOnly, }) {
var _b, _c;
var _b;
try {
const finalDbName = global.DSQL_USE_LOCAL
? undefined
: database
? database
: "datasquirel";
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${finalDbName}.`;
const existingSocialUserQUery = `SELECT * FROM ${dbAppend}users WHERE email = ? AND social_login='1' AND social_platform = ? `;
const finalDbName = database ? database : "datasquirel";
const existingSocialUserQUery = `SELECT * FROM users WHERE email = ? AND social_login='1' AND social_platform = ? `;
const existingSocialUserValues = [email, social_platform];
if (debug) {
console.log("handleSocialDb:existingSocialUserQUery", existingSocialUserQUery);
console.log("handleSocialDb:existingSocialUserValues", existingSocialUserValues);
}
let existingSocialUser = yield (0, varDatabaseDbHandler_1.default)({
let existingSocialUser = (yield (0, dbHandler_1.default)({
database: finalDbName,
queryString: existingSocialUserQUery,
queryValuesArray: existingSocialUserValues,
debug,
});
query: existingSocialUserQUery,
values: existingSocialUserValues,
}));
if (debug) {
console.log("handleSocialDb:existingSocialUser", existingSocialUser);
}
@@ -75,15 +69,14 @@ function handleSocialDb(_a) {
msg: "No Email Present",
};
}
const existingEmailOnlyQuery = `SELECT * FROM ${dbAppend}users WHERE email='${finalEmail}'`;
const existingEmailOnlyQuery = `SELECT * FROM users WHERE email='${finalEmail}'`;
if (debug) {
console.log("handleSocialDb:existingEmailOnlyQuery", existingEmailOnlyQuery);
}
let existingEmailOnly = yield (0, varDatabaseDbHandler_1.default)({
let existingEmailOnly = (yield (0, dbHandler_1.default)({
database: finalDbName,
queryString: existingEmailOnlyQuery,
debug,
});
query: existingEmailOnlyQuery,
}));
if (debug) {
console.log("handleSocialDb:existingEmailOnly", existingEmailOnly);
}
@@ -131,12 +124,11 @@ function handleSocialDb(_a) {
*/
yield (0, addMariadbUser_1.default)({ userId: newUser.payload.insertId });
}
const newUserQueriedQuery = `SELECT * FROM ${dbAppend}users WHERE id='${newUser.payload.insertId}'`;
const newUserQueried = yield (0, varDatabaseDbHandler_1.default)({
const newUserQueriedQuery = `SELECT * FROM users WHERE id='${newUser.payload.insertId}'`;
const newUserQueried = (yield (0, dbHandler_1.default)({
database: finalDbName,
queryString: newUserQueriedQuery,
debug,
});
query: newUserQueriedQuery,
}));
if (!newUserQueried || !newUserQueried[0])
return {
success: false,
@@ -207,7 +199,6 @@ function handleSocialDb(_a) {
}
catch (error) {
console.log("ERROR in 'handleSocialDb.ts' backend function =>", error.message);
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Handle Social DB Error`, error);
return {
success: false,
payload: null,
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = loginSocialUser;
const addAdminUserOnLogin_1 = __importDefault(require("../../backend/addAdminUserOnLogin"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/**
* Function to login social user
* ==============================================================================
@@ -27,12 +27,11 @@ function loginSocialUser(_a) {
const dbAppend = database ? `\`${finalDbName}\`.` : "";
const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=?`;
const foundUserValues = [user.email];
const foundUser = yield (0, varDatabaseDbHandler_1.default)({
const foundUser = (yield (0, dbHandler_1.default)({
query: foundUserQuery,
values: foundUserValues,
database: finalDbName,
queryString: foundUserQuery,
queryValuesArray: foundUserValues,
debug,
});
}));
if (!(foundUser === null || foundUser === void 0 ? void 0 : foundUser[0]))
return {
success: false,
@@ -2,7 +2,7 @@ import { APICreateUserFunctionParams } from "../../../types";
/**
* # API Create User
*/
export default function apiCreateUser({ encryptionKey, payload, database, userId, }: APICreateUserFunctionParams): Promise<{
export default function apiCreateUser({ encryptionKey, payload, database, userId, verify, }: APICreateUserFunctionParams): Promise<{
success: boolean;
msg: string;
payload?: undefined;
+30 -22
View File
@@ -17,17 +17,15 @@ const grab_required_database_schemas_1 = require("../../../shell/createDbFromSch
const addUsersTableToDb_1 = __importDefault(require("../../backend/addUsersTableToDb"));
const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry"));
const updateUsersTableSchema_1 = __importDefault(require("../../backend/updateUsersTableSchema"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
const validate_email_1 = __importDefault(require("../../email/fns/validate-email"));
/**
* # API Create User
*/
function apiCreateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ encryptionKey, payload, database, userId, }) {
return __awaiter(this, arguments, void 0, function* ({ encryptionKey, payload, database, userId, verify, }) {
var _b;
const dbFullName = database;
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
const finalEncryptionKey = encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD;
if (!finalEncryptionKey) {
return {
@@ -43,9 +41,10 @@ function apiCreateUser(_a) {
payload: null,
};
}
const targetDbSchema = (0, grab_required_database_schemas_1.findDbNameInSchemaDir)({
dbName: dbFullName,
const targetDbSchema = (0, grab_required_database_schemas_1.grabPrimaryRequiredDbSchema)({
dbSlug: database,
userId,
dbId: userId ? undefined : 1,
});
if (!(targetDbSchema === null || targetDbSchema === void 0 ? void 0 : targetDbSchema.id)) {
return {
@@ -54,27 +53,35 @@ function apiCreateUser(_a) {
payload: null,
};
}
const dbFullName = targetDbSchema.dbFullName;
if (!dbFullName) {
return {
success: false,
msg: "dbFullName not found",
payload: null,
};
}
const hashedPassword = (0, hashPassword_1.default)({
encryptionKey: finalEncryptionKey,
password: String(payload.password),
});
payload.password = hashedPassword;
const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`;
let fields = yield (0, varDatabaseDbHandler_1.default)({
queryString: fieldsQuery,
let fields = (yield (0, dbHandler_1.default)({
query: fieldsQuery,
database: dbFullName,
});
}));
if (!(fields === null || fields === void 0 ? void 0 : fields[0])) {
const newTable = yield (0, addUsersTableToDb_1.default)({
userId: Number(API_USER_ID),
userId,
database: dbFullName,
payload: payload,
dbId: targetDbSchema.id,
});
fields = yield (0, varDatabaseDbHandler_1.default)({
queryString: fieldsQuery,
fields = (yield (0, dbHandler_1.default)({
query: fieldsQuery,
database: dbFullName,
});
}));
}
if (!(fields === null || fields === void 0 ? void 0 : fields[0])) {
return {
@@ -88,7 +95,7 @@ function apiCreateUser(_a) {
const key = Object.keys(payload)[i];
if (!fieldsTitles.includes(key)) {
yield (0, updateUsersTableSchema_1.default)({
userId: Number(API_USER_ID),
userId,
database: dbFullName,
newPayload: {
[key]: payload[key],
@@ -107,11 +114,11 @@ function apiCreateUser(_a) {
const existingUserValues = payload.username
? [payload.email, payload.username]
: [payload.email];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: existingUserQuery,
queryValuesArray: existingUserValues,
const existingUser = (yield (0, dbHandler_1.default)({
query: existingUserQuery,
values: existingUserValues,
database: dbFullName,
});
}));
if (existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) {
return {
success: false,
@@ -132,14 +139,15 @@ function apiCreateUser(_a) {
tableName: "users",
data: Object.assign(Object.assign({}, payload), { image: process.env.DSQL_DEFAULT_USER_IMAGE ||
"/images/user-preset.png", image_thumbnail: process.env.DSQL_DEFAULT_USER_IMAGE ||
"/images/user-preset-thumbnail.png" }),
"/images/user-preset-thumbnail.png", verification_status: verify ? 1 : 0 }),
});
if ((_b = addUser === null || addUser === void 0 ? void 0 : addUser.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
const newlyAddedUserQuery = `SELECT id,uuid,first_name,last_name,email,username,image,image_thumbnail,verification_status FROM ${dbFullName}.users WHERE id='${addUser.payload.insertId}'`;
const newlyAddedUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: newlyAddedUserQuery,
const newlyAddedUser = (yield (0, dbHandler_1.default)({
query: newlyAddedUserQuery,
values: [],
database: dbFullName,
});
}));
return {
success: true,
payload: newlyAddedUser[0],
+5 -5
View File
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiDeleteUser;
const deleteDbEntry_1 = __importDefault(require("../../backend/db/deleteDbEntry"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/**
* # Update API User Function
*/
@@ -22,11 +22,11 @@ function apiDeleteUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, deletedUserId, }) {
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [deletedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: existingUserQuery,
queryValuesArray: existingUserValues,
const existingUser = (yield (0, dbHandler_1.default)({
query: existingUserQuery,
values: existingUserValues,
database: dbFullName,
});
}));
if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) {
return {
success: false,
+5 -5
View File
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiGetUser;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/**
* # API Get User
*/
@@ -22,11 +22,11 @@ function apiGetUser(_a) {
const finalDbName = dbFullName.replace(/[^a-z0-9_]/g, "");
const query = `SELECT ${fields.join(",")} FROM ${finalDbName}.users WHERE id=?`;
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: query,
queryValuesArray: [API_USER_ID],
let foundUser = (yield (0, dbHandler_1.default)({
query,
values: [API_USER_ID],
database: finalDbName,
});
}));
if (!foundUser || !foundUser[0]) {
return {
success: false,
+8 -10
View File
@@ -14,7 +14,7 @@ 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 dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/**
* # API Login
@@ -29,7 +29,6 @@ function apiLoginUser(_a) {
msg: `Database Full Name couldn't be grabbed`,
};
}
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${dbFullName}.`;
/**
* Check input validity
*
@@ -58,12 +57,11 @@ function apiLoginUser(_a) {
console.log("apiLoginUser:database:", dbFullName);
console.log("apiLoginUser:Finding User ...");
}
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM ${dbAppend}users WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
let foundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users WHERE email = ? OR username = ?`,
values: [email, username],
database: dbFullName,
debug,
});
}));
if (debug) {
console.log("apiLoginUser:foundUser:", foundUser);
}
@@ -119,9 +117,9 @@ function apiLoginUser(_a) {
console.log("apiLoginUser:email_login:", email_login);
}
if (isPasswordCorrect && email_login) {
const resetTempCode = yield (0, varDatabaseDbHandler_1.default)({
queryString: `UPDATE ${dbAppend}users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
yield (0, dbHandler_1.default)({
query: `UPDATE users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
values: [email, username],
database: dbFullName,
});
}
+5 -10
View File
@@ -13,23 +13,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiReauthUser;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/**
* # Re-authenticate API user
*/
function apiReauthUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ existingUser, database, additionalFields, }) {
const dbAppend = global.DSQL_USE_LOCAL
? ""
: database
? `${database}.`
: "";
let foundUser = (existingUser === null || existingUser === void 0 ? void 0 : existingUser.id) && existingUser.id.toString().match(/./)
? yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM ${dbAppend}users WHERE id=?`,
queryValuesArray: [existingUser.id.toString()],
? (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users WHERE id=?`,
values: [existingUser.id.toString()],
database,
})
}))
: null;
if (!foundUser || !foundUser[0])
return {
@@ -1,5 +1,5 @@
import http from "http";
import { SendOneTimeCodeEmailResponse } from "../../../types";
import { CookieObject, SendOneTimeCodeEmailResponse } from "../../../types";
type Param = {
email: string;
database: string;
@@ -13,7 +13,7 @@ type Param = {
response?: http.ServerResponse & {
[s: string]: any;
};
extraCookies?: import("../../../../package-shared/types").CookieObject[];
extraCookies?: CookieObject[];
};
/**
* # Send Email Login Code
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiSendEmailCode;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const nodemailer_1 = __importDefault(require("nodemailer"));
const get_auth_cookie_names_1 = __importDefault(require("../../backend/cookies/get-auth-cookie-names"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
@@ -32,14 +32,11 @@ function apiSendEmailCode(_a) {
const createdAt = Date.now();
const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`;
const foundUserValues = [email];
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: foundUserQuery,
queryValuesArray: foundUserValues,
let foundUser = (yield (0, dbHandler_1.default)({
query: foundUserQuery,
values: foundUserValues,
database,
});
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
}));
if (!foundUser || !foundUser[0]) {
return {
success: false,
@@ -80,12 +77,11 @@ function apiSendEmailCode(_a) {
throw new Error("Mail not Sent!");
const setTempCodeQuery = `UPDATE ${database}.users SET ${email_login_field} = ? WHERE email = ?`;
const setTempCodeValues = [tempCode + `-${createdAt}`, email];
let setTempCode = yield (0, varDatabaseDbHandler_1.default)({
queryString: setTempCodeQuery,
queryValuesArray: setTempCodeValues,
yield (0, dbHandler_1.default)({
query: setTempCodeQuery,
values: setTempCodeValues,
database,
});
/** @type {import("../../../types").SendOneTimeCodeEmailResponse} */
const resObject = {
success: true,
code: tempCode,
@@ -102,7 +98,6 @@ function apiSendEmailCode(_a) {
if (!encryptedPayload) {
throw new Error("apiSendEmailCode Error: Failed to encrypt payload");
}
/** @type {import("../../../../package-shared/types").CookieObject} */
const oneTimeCookieObject = {
name: oneTimeCodeCookieName,
value: encryptedPayload,
@@ -111,7 +106,6 @@ function apiSendEmailCode(_a) {
httpOnly: true,
secure: true,
};
/** @type {import("../../../../package-shared/types").CookieObject[]} */
const cookiesObjectArray = extraCookies
? [...extraCookies, oneTimeCookieObject]
: [oneTimeCookieObject];
+5 -5
View File
@@ -17,7 +17,7 @@ exports.default = apiUpdateUser;
const updateDbEntry_1 = __importDefault(require("../../backend/db/updateDbEntry"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/**
* # Update API User Function
*/
@@ -25,11 +25,11 @@ function apiUpdateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ payload, dbFullName, updatedUserId, dbSchema, }) {
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [updatedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: existingUserQuery,
queryValuesArray: existingUserValues,
const existingUser = (yield (0, dbHandler_1.default)({
query: existingUserQuery,
values: existingUserValues,
database: dbFullName,
});
}));
if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) {
return {
success: false,
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiSendResetPasswordLink;
const grab_db_full_name_1 = __importDefault(require("../../../../utils/grab-db-full-name"));
const varDatabaseDbHandler_1 = __importDefault(require("../../../backend/varDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../../backend/dbHandler"));
/**
* # API Login
*/
@@ -33,12 +33,11 @@ function apiSendResetPasswordLink(_a) {
msg: "Invalid Email/Password format",
};
}
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
queryValuesArray: [email, email],
let foundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
values: [email, email],
database: dbFullName,
debug,
});
}));
if (debug) {
console.log("apiSendResetPassword:foundUser:", foundUser);
}