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
+9 -13
View File
@@ -3,6 +3,7 @@
import _ from "lodash";
import serverError from "../../backend/serverError";
import runQuery from "../../backend/db/runQuery";
import { DSQL_TableSchemaType, GetReturn } from "../../../types";
type Param = {
query: string;
@@ -31,11 +32,6 @@ export default async function apiGet({
return { success: false, msg: "Wrong Input." };
}
/**
* Create new user folder and file
*
* @description Create new user folder and file
*/
let results;
try {
@@ -49,10 +45,7 @@ export default async function apiGet({
local: useLocal,
});
/** @type {import("../../../types").DSQL_TableSchemaType | undefined} */
let tableSchema:
| import("../../../types").DSQL_TableSchemaType
| undefined;
let tableSchema: DSQL_TableSchemaType | undefined;
if (dbSchema) {
const targetTable = dbSchema.tables.find(
@@ -77,20 +70,23 @@ export default async function apiGet({
results = result;
/** @type {import("../../../types").GetReturn} */
const resObject: import("../../../types").GetReturn = {
const resObject: GetReturn = {
success: true,
payload: results,
schema: tableName && tableSchema ? tableSchema : undefined,
};
return resObject;
} catch (/** @type {any} */ error: any) {
} catch (error: any) {
serverError({
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,
};
}
}
@@ -26,7 +26,7 @@ export default async function handleSocialDb({
useLocal,
}: HandleSocialDbFunctionParams): Promise<APILoginFunctionReturn> {
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,
@@ -60,7 +60,7 @@ export default async function handleSocialDb({
};
}
const existingEmailOnlyQuery = `SELECT * FROM users WHERE email='${finalEmail}'`;
const existingEmailOnlyQuery = `SELECT * FROM datasquirel.users WHERE email='${finalEmail}'`;
let existingEmailOnly = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
@@ -76,7 +76,7 @@ export default async function handleSocialDb({
};
}
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 = await varDatabaseDbHandler({
@@ -134,7 +134,7 @@ export default async function handleSocialDb({
await addMariadbUser({ 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 = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
@@ -30,11 +30,13 @@ export default async function loginSocialUser({
additionalFields,
useLocal,
}: Param): Promise<APILoginFunctionReturn> {
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 = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
database: finalDbName,
queryString: foundUserQuery,
queryValuesArray: foundUserValues,
useLocal,
@@ -46,7 +46,7 @@ export default async function apiCreateUser({
payload.password = hashedPassword;
const fieldsQuery = `SHOW COLUMNS FROM users`;
const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`;
let fields = await varDatabaseDbHandler({
queryString: fieldsQuery,
@@ -100,7 +100,7 @@ export default async function apiCreateUser({
};
}
const existingUserQuery = `SELECT * FROM users WHERE email = ?${
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE email = ?${
payload.username ? " OR username = ?" : ""
}`;
const existingUserValues = payload.username
@@ -140,7 +140,7 @@ export default async function apiCreateUser({
});
if (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 = await varDatabaseDbHandler({
queryString: newlyAddedUserQuery,
@@ -16,7 +16,7 @@ export default async function apiDeleteUser({
deletedUserId,
useLocal,
}: Param): Promise<Return> {
const existingUserQuery = `SELECT * FROM users WHERE id = ?`;
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [deletedUserId];
const existingUser = await varDatabaseDbHandler({
@@ -13,13 +13,17 @@ export default async function apiGetUser({
userId,
useLocal,
}: APIGetUserFunctionParams): Promise<GetUserFunctionReturn> {
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 = await varDatabaseDbHandler({
queryString: query,
queryValuesArray: [API_USER_ID],
database: dbFullName.replace(/[^a-z0-9_]/g, ""),
database: finalDbName,
useLocal,
});
@@ -24,7 +24,7 @@ export default async function apiLoginUser({
social,
useLocal,
}: APILoginFunctionParams): Promise<APILoginFunctionReturn> {
const dbFullName = database;
const dbFullName = database.replace(/[^a-z0-9_]/g, "");
/**
* Check input validity
@@ -55,9 +55,9 @@ export default async function apiLoginUser({
: null;
let foundUser = await varDatabaseDbHandler({
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,
});
@@ -108,9 +108,9 @@ export default async function apiLoginUser({
if (isPasswordCorrect && email_login) {
const resetTempCode = await varDatabaseDbHandler({
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,
});
}
@@ -20,7 +20,7 @@ export default async function apiReauthUser({
let foundUser =
existingUser?.id && existingUser.id.toString().match(/./)
? await varDatabaseDbHandler({
queryString: `SELECT * FROM users WHERE id=?`,
queryString: `SELECT * FROM ${database}.users WHERE id=?`,
queryValuesArray: [existingUser.id.toString()],
database,
useLocal,
@@ -46,7 +46,7 @@ export default async function apiSendEmailCode({
}
const createdAt = Date.now();
const foundUserQuery = `SELECT * FROM users WHERE email = ?`;
const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`;
const foundUserValues = [email];
let foundUser = await varDatabaseDbHandler({
@@ -107,13 +107,13 @@ export default async function apiSendEmailCode({
if (!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 = await varDatabaseDbHandler({
queryString: setTempCodeQuery,
queryValuesArray: setTempCodeValues,
database: database,
database,
useLocal,
});
@@ -25,7 +25,7 @@ export default async function apiUpdateUser({
useLocal,
dbSchema,
}: Param): Promise<Return> {
const existingUserQuery = `SELECT * FROM users WHERE id = ?`;
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [updatedUserId];
const existingUser = await varDatabaseDbHandler({