This commit is contained in:
Benjamin Toby
2025-01-14 00:01:02 +01:00
parent 8f00f333aa
commit d586de0639
90 changed files with 533 additions and 960 deletions
+6 -9
View File
@@ -26,11 +26,6 @@ function apiGet(_a) {
query.match(/^alter|^delete|information_schema|databases|^create/i)) {
return { success: false, msg: "Wrong Input." };
}
/**
* Create new user folder and file
*
* @description Create new user folder and file
*/
let results;
try {
let { result, error } = yield (0, runQuery_1.default)({
@@ -42,7 +37,6 @@ function apiGet(_a) {
tableName,
local: useLocal,
});
/** @type {import("../../../types").DSQL_TableSchemaType | undefined} */
let tableSchema;
if (dbSchema) {
const targetTable = dbSchema.tables.find((table) => table.tableName === tableName);
@@ -63,7 +57,6 @@ function apiGet(_a) {
if (result.error)
throw new Error(result.error);
results = result;
/** @type {import("../../../types").GetReturn} */
const resObject = {
success: true,
payload: results,
@@ -71,12 +64,16 @@ function apiGet(_a) {
};
return resObject;
}
catch ( /** @type {any} */error) {
catch (error) {
(0, serverError_1.default)({
component: "/api/query/get/lines-85-94",
message: error.message,
});
return { success: false, payload: null, error: error.message };
return {
success: false,
payload: null,
error: error.message,
};
}
});
}
@@ -27,7 +27,7 @@ const loginSocialUser_1 = __importDefault(require("./loginSocialUser"));
function handleSocialDb(_a) {
return __awaiter(this, arguments, void 0, function* ({ database, social_id, email, social_platform, payload, invitation, supEmail, additionalFields, useLocal, }) {
try {
const existingSocialIdUserQuery = `SELECT * FROM users WHERE social_id = ? AND social_login='1' AND social_platform = ? `;
const existingSocialIdUserQuery = `SELECT * FROM datasquirel.users WHERE social_id = ? AND social_login='1' AND social_platform = ? `;
const existingSocialIdUserValues = [
social_id.toString(),
social_platform,
@@ -56,7 +56,7 @@ function handleSocialDb(_a) {
msg: "No Email Present",
};
}
const existingEmailOnlyQuery = `SELECT * FROM users WHERE email='${finalEmail}'`;
const existingEmailOnlyQuery = `SELECT * FROM datasquirel.users WHERE email='${finalEmail}'`;
let existingEmailOnly = yield (0, varDatabaseDbHandler_1.default)({
database: database ? database : "datasquirel",
queryString: existingEmailOnlyQuery,
@@ -69,7 +69,7 @@ function handleSocialDb(_a) {
msg: "This Email is already taken",
};
}
const foundUserQuery = `SELECT * FROM users WHERE email=? AND social_login='1' AND social_platform=? AND social_id=?`;
const foundUserQuery = `SELECT * FROM datasquirel.users WHERE email=? AND social_login='1' AND social_platform=? AND social_id=?`;
const foundUserQueryValues = [finalEmail, social_platform, social_id];
const foundUser = yield (0, varDatabaseDbHandler_1.default)({
database: database ? database : "datasquirel",
@@ -116,7 +116,7 @@ function handleSocialDb(_a) {
*/
yield (0, addMariadbUser_1.default)({ userId: newUser.insertId, useLocal });
}
const newUserQueriedQuery = `SELECT * FROM users WHERE id='${newUser.insertId}'`;
const newUserQueriedQuery = `SELECT * FROM datasquirel.users WHERE id='${newUser.insertId}'`;
const newUserQueried = yield (0, varDatabaseDbHandler_1.default)({
database: database ? database : "datasquirel",
queryString: newUserQueriedQuery,
@@ -23,10 +23,11 @@ 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 foundUserQuery = `SELECT * FROM users WHERE email=? AND social_id=? AND social_platform=?`;
const finalDbName = database ? database : "datasquirel";
const foundUserQuery = `SELECT * FROM \`${finalDbName}\`.\`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: database ? database : "datasquirel",
database: finalDbName,
queryString: foundUserQuery,
queryValuesArray: foundUserValues,
useLocal,
+3 -3
View File
@@ -46,7 +46,7 @@ function apiCreateUser(_a) {
password: String(payload.password),
});
payload.password = hashedPassword;
const fieldsQuery = `SHOW COLUMNS FROM users`;
const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`;
let fields = yield (0, varDatabaseDbHandler_1.default)({
queryString: fieldsQuery,
database: dbFullName,
@@ -91,7 +91,7 @@ function apiCreateUser(_a) {
msg: `${invalidField} is not a valid field!`,
};
}
const existingUserQuery = `SELECT * FROM users WHERE email = ?${payload.username ? " OR username = ?" : ""}`;
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE email = ?${payload.username ? " OR username = ?" : ""}`;
const existingUserValues = payload.username
? [payload.email, payload.username]
: [payload.email];
@@ -119,7 +119,7 @@ function apiCreateUser(_a) {
useLocal,
});
if (addUser === null || addUser === void 0 ? void 0 : addUser.insertId) {
const newlyAddedUserQuery = `SELECT id,first_name,last_name,email,username,phone,image,image_thumbnail,city,state,country,zip_code,address,verification_status,more_user_data FROM users WHERE id='${addUser.insertId}'`;
const newlyAddedUserQuery = `SELECT id,first_name,last_name,email,username,phone,image,image_thumbnail,city,state,country,zip_code,address,verification_status,more_user_data FROM ${dbFullName}.users WHERE id='${addUser.insertId}'`;
const newlyAddedUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: newlyAddedUserQuery,
database: dbFullName,
+1 -1
View File
@@ -20,7 +20,7 @@ const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabas
*/
function apiDeleteUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, deletedUserId, useLocal, }) {
const existingUserQuery = `SELECT * FROM users WHERE id = ?`;
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [deletedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: existingUserQuery,
+3 -2
View File
@@ -19,12 +19,13 @@ const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabas
*/
function apiGetUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ fields, dbFullName, userId, useLocal, }) {
const query = `SELECT ${fields.join(",")} FROM users WHERE id=?`;
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],
database: dbFullName.replace(/[^a-z0-9_]/g, ""),
database: finalDbName,
useLocal,
});
if (!foundUser || !foundUser[0]) {
+5 -5
View File
@@ -20,7 +20,7 @@ const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
*/
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;
const dbFullName = database.replace(/[^a-z0-9_]/g, "");
/**
* Check input validity
*
@@ -46,9 +46,9 @@ function apiLoginUser(_a) {
})
: null;
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM users WHERE email = ? OR username = ?`,
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
database: dbFullName.replace(/[^a-z0-9_]/g, ""),
database: dbFullName,
useLocal,
});
if ((!foundUser || !foundUser[0]) && !social)
@@ -91,9 +91,9 @@ function apiLoginUser(_a) {
}
if (isPasswordCorrect && email_login) {
const resetTempCode = yield (0, varDatabaseDbHandler_1.default)({
queryString: `UPDATE users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
queryString: `UPDATE ${dbFullName}.users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
queryValuesArray: [email, username],
database: dbFullName.replace(/[^a-z0-9_]/g, ""),
database: dbFullName,
useLocal,
});
}
+1 -1
View File
@@ -21,7 +21,7 @@ function apiReauthUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ existingUser, database, additionalFields, useLocal, }) {
let foundUser = (existingUser === null || existingUser === void 0 ? void 0 : existingUser.id) && existingUser.id.toString().match(/./)
? yield (0, varDatabaseDbHandler_1.default)({
queryString: `SELECT * FROM users WHERE id=?`,
queryString: `SELECT * FROM ${database}.users WHERE id=?`,
queryValuesArray: [existingUser.id.toString()],
database,
useLocal,
@@ -30,7 +30,7 @@ function apiSendEmailCode(_a) {
};
}
const createdAt = Date.now();
const foundUserQuery = `SELECT * FROM users WHERE email = ?`;
const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`;
const foundUserValues = [email];
let foundUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: foundUserQuery,
@@ -79,12 +79,12 @@ function apiSendEmailCode(_a) {
const info = yield transporter.sendMail(mailObject);
if (!(info === null || info === void 0 ? void 0 : info.accepted))
throw new Error("Mail not Sent!");
const setTempCodeQuery = `UPDATE users SET ${email_login_field} = ? WHERE email = ?`;
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,
database: database,
database,
useLocal,
});
/** @type {import("../../../types").SendOneTimeCodeEmailResponse} */
+1 -1
View File
@@ -23,7 +23,7 @@ const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabas
*/
function apiUpdateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ payload, dbFullName, updatedUserId, useLocal, dbSchema, }) {
const existingUserQuery = `SELECT * FROM users WHERE id = ?`;
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [updatedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({
queryString: existingUserQuery,
+2 -4
View File
@@ -90,8 +90,7 @@ function addDbEntry(_a) {
? yield dbHandler(`SELECT * FROM \`${tableName}\` WHERE \`${duplicateColumnName}\`=?`, [duplicateColumnValue])
: yield dbHandler({
paradigm: "Read Only",
database: dbFullName,
queryString: `SELECT * FROM \`${tableName}\` WHERE \`${duplicateColumnName}\`=?`,
queryString: `SELECT * FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`,
queryValues: [duplicateColumnValue],
});
if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) {
@@ -191,13 +190,12 @@ function addDbEntry(_a) {
insertValuesArray.push(Date.now());
}
////////////////////////////////////////
const query = `INSERT INTO \`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray.map(() => "?").join(",")})`;
const query = `INSERT INTO \`${dbFullName}\`.\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray.map(() => "?").join(",")})`;
const queryValuesArray = insertValuesArray;
const newInsert = isMaster
? yield dbHandler(query, queryValuesArray)
: yield dbHandler({
paradigm,
database: dbFullName,
queryString: query,
queryValues: queryValuesArray,
});
+1 -2
View File
@@ -41,13 +41,12 @@ function deleteDbEntry(_a) {
*
* @description
*/
const query = `DELETE FROM ${tableName} WHERE \`${identifierColumnName}\`=?`;
const query = `DELETE FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${identifierColumnName}\`=?`;
const deletedEntry = isMaster
? yield dbHandler(query, [identifierValue])
: yield dbHandler({
paradigm,
queryString: query,
database: dbFullName,
queryValues: [identifierValue],
});
/**
-2
View File
@@ -71,7 +71,6 @@ function runQuery(_a) {
result = yield (0, varReadOnlyDatabaseDbHandler_1.default)({
queryString: formattedQuery,
queryValuesArray: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)),
database: dbFullName,
tableSchema,
useLocal: local,
});
@@ -80,7 +79,6 @@ function runQuery(_a) {
result = yield (0, fullAccessDbHandler_1.default)({
queryString: formattedQuery,
queryValuesArray: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)),
database: dbFullName,
tableSchema,
local,
});
+1 -2
View File
@@ -126,13 +126,12 @@ function updateDbEntry(_a) {
updateKeyValueArray.push(`date_updated_code='${Date.now()}'`);
////////////////////////////////////////
////////////////////////////////////////
const query = `UPDATE ${tableName} SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
const query = `UPDATE \`${dbFullName}\`.\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
updateValues.push(identifierValue);
const updatedEntry = isMaster
? yield dbHandler(query, updateValues)
: yield dbHandler({
paradigm,
database: dbFullName,
queryString: query,
queryValues: updateValues,
});
+1 -17
View File
@@ -15,18 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = dbHandler;
const fs_1 = __importDefault(require("fs"));
const serverError_1 = __importDefault(require("./serverError"));
const serverless_mysql_1 = __importDefault(require("serverless-mysql"));
const grabDbSSL_1 = __importDefault(require("../../utils/backend/grabDbSSL"));
const connection = (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: process.env.DSQL_DB_NAME,
charset: "utf8mb4",
ssl: (0, grabDbSSL_1.default)(),
},
});
/**
* # Main DB Handler Function
*/
@@ -35,11 +23,6 @@ function dbHandler(...args) {
var _a;
((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.match(/dev/)) &&
fs_1.default.appendFileSync("./.tmp/sqlQuery.sql", args[0] + "\n" + Date() + "\n\n\n", "utf8");
/**
* Declare variables
*
* @description Declare "results" variable
*/
let results;
/**
* Fetch from db
@@ -47,6 +30,7 @@ function dbHandler(...args) {
* @description Fetch data from db if no cache
*/
try {
const connection = global.DSQL_DB_CONN;
results = yield new Promise((resolve, reject) => {
connection.query(...args, (error, result, fields) => {
if (error) {
@@ -1,6 +1,5 @@
type Param = {
queryString: string;
database: string;
local?: boolean;
tableSchema?: import("../../types").DSQL_TableSchemaType | null;
queryValuesArray?: string[];
@@ -8,5 +7,5 @@ type Param = {
/**
* # Full Access Db Handler
*/
export default function fullAccessDbHandler({ queryString, database, tableSchema, queryValuesArray, local, }: Param): Promise<any>;
export default function fullAccessDbHandler({ queryString, tableSchema, queryValuesArray, local, }: Param): Promise<any>;
export {};
@@ -22,7 +22,7 @@ const serverError_1 = __importDefault(require("./serverError"));
* # Full Access Db Handler
*/
function fullAccessDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, database, tableSchema, queryValuesArray, local, }) {
return __awaiter(this, arguments, void 0, function* ({ queryString, tableSchema, queryValuesArray, local, }) {
/**
* Declare variables
*
@@ -40,7 +40,6 @@ function fullAccessDbHandler(_a) {
? yield (0, LOCAL_DB_HANDLER_1.default)(queryString, queryValuesArray)
: yield (0, DSQL_USER_DB_HANDLER_1.default)({
paradigm: "Full Access",
database,
queryString,
queryValues: queryValuesArray,
});
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = noDatabaseDbHandler;
const fs_1 = __importDefault(require("fs"));
const serverError_1 = __importDefault(require("./serverError"));
const NO_DB_HANDLER_1 = __importDefault(require("../../../package-shared/utils/backend/global-db/NO_DB_HANDLER"));
const NO_DB_HANDLER_1 = __importDefault(require("@/package-shared/utils/backend/global-db/NO_DB_HANDLER"));
/**
* # No Database DB Handler
*/
@@ -33,7 +33,6 @@ function varDatabaseDbHandler(_a) {
: (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/))
? true
: false;
/** @type {any} */
const FINAL_DB_HANDLER = useLocal
? LOCAL_DB_HANDLER_1.default
: isMaster
@@ -54,7 +53,6 @@ function varDatabaseDbHandler(_a) {
? yield FINAL_DB_HANDLER(queryString, queryValuesArray)
: yield FINAL_DB_HANDLER({
paradigm: "Full Access",
database,
queryString,
queryValues: queryValuesArray,
});
@@ -64,12 +62,12 @@ function varDatabaseDbHandler(_a) {
? yield FINAL_DB_HANDLER(queryString)
: yield FINAL_DB_HANDLER({
paradigm: "Full Access",
database,
queryString,
});
}
}
catch (error) {
console.log(`varDatabaseDbHandler Error: ${error.message}`);
(0, serverError_1.default)({
component: "varDatabaseDbHandler/lines-29-32",
message: error.message,
@@ -1,6 +1,5 @@
type Param = {
queryString: string;
database: string;
queryValuesArray?: string[];
tableSchema?: import("../../types").DSQL_TableSchemaType;
useLocal?: boolean;
@@ -9,5 +8,5 @@ type Param = {
* # Read Only Db Handler with Varaibles
* @returns
*/
export default function varReadOnlyDatabaseDbHandler({ queryString, database, queryValuesArray, tableSchema, useLocal, }: Param): Promise<any>;
export default function varReadOnlyDatabaseDbHandler({ queryString, queryValuesArray, tableSchema, useLocal, }: Param): Promise<any>;
export {};
@@ -23,7 +23,7 @@ const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-d
* @returns
*/
function varReadOnlyDatabaseDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, database, queryValuesArray, tableSchema, useLocal, }) {
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, tableSchema, useLocal, }) {
/**
* Declare variables
*
@@ -40,7 +40,6 @@ function varReadOnlyDatabaseDbHandler(_a) {
? yield (0, LOCAL_DB_HANDLER_1.default)(queryString, queryValuesArray)
: yield (0, DSQL_USER_DB_HANDLER_1.default)({
paradigm: "Read Only",
database,
queryString,
queryValues: queryValuesArray,
});