This commit is contained in:
Benjamin Toby
2025-01-28 19:43:16 +01:00
parent 81cf010cb5
commit 35fec57590
856 changed files with 5362 additions and 2266 deletions
+61 -27
View File
@@ -1,4 +1,4 @@
import fs from "fs";
import fs, { glob } from "fs";
import handleNodemailer from "../../backend/handleNodemailer";
import path from "path";
import addMariadbUser from "../../backend/addMariadbUser";
@@ -23,30 +23,55 @@ export default async function handleSocialDb({
invitation,
supEmail,
additionalFields,
useLocal,
debug,
}: HandleSocialDbFunctionParams): Promise<APILoginFunctionReturn> {
try {
const existingSocialIdUserQuery = `SELECT * FROM datasquirel.users WHERE social_id = ? AND social_login='1' AND social_platform = ? `;
const finalDbName = global.DSQL_USE_LOCAL
? undefined
: database
? database
: "datasquirel";
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${finalDbName}.`;
const existingSocialIdUserQuery = `SELECT * FROM ${dbAppend}users WHERE social_id = ? AND social_login='1' AND social_platform = ? `;
const existingSocialIdUserValues = [
social_id.toString(),
social_platform,
];
if (debug) {
console.log(
"handleSocialDb:existingSocialIdUserQuery",
existingSocialIdUserQuery
);
console.log(
"handleSocialDb:existingSocialIdUserValues",
existingSocialIdUserValues
);
}
let existingSocialIdUser = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
database: finalDbName,
queryString: existingSocialIdUserQuery,
queryValuesArray: existingSocialIdUserValues,
useLocal,
debug,
});
if (existingSocialIdUser && existingSocialIdUser[0]) {
if (debug) {
console.log(
"handleSocialDb:existingSocialIdUser",
existingSocialIdUser
);
}
if (existingSocialIdUser?.[0]) {
return await loginSocialUser({
user: existingSocialIdUser[0],
social_platform,
invitation,
database,
database: finalDbName,
additionalFields,
useLocal,
debug,
});
}
@@ -60,14 +85,25 @@ export default async function handleSocialDb({
};
}
const existingEmailOnlyQuery = `SELECT * FROM datasquirel.users WHERE email='${finalEmail}'`;
const existingEmailOnlyQuery = `SELECT * FROM ${dbAppend}users WHERE email='${finalEmail}'`;
if (debug) {
console.log(
"handleSocialDb:existingEmailOnlyQuery",
existingEmailOnlyQuery
);
}
let existingEmailOnly = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
database: finalDbName,
queryString: existingEmailOnlyQuery,
useLocal,
debug,
});
if (debug) {
console.log("handleSocialDb:existingEmailOnly", existingEmailOnly);
}
if (existingEmailOnly && existingEmailOnly[0]) {
return {
success: false,
@@ -76,14 +112,14 @@ export default async function handleSocialDb({
};
}
const foundUserQuery = `SELECT * FROM datasquirel.users WHERE email=? AND social_login='1' AND social_platform=? AND social_id=?`;
const foundUserQuery = `SELECT * FROM ${dbAppend}users WHERE email=? AND social_login='1' AND social_platform=? AND social_id=?`;
const foundUserQueryValues = [finalEmail, social_platform, social_id];
const foundUser = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
database: finalDbName,
queryString: foundUserQuery,
queryValuesArray: foundUserQueryValues,
useLocal,
debug,
});
if (foundUser && foundUser[0]) {
@@ -91,9 +127,9 @@ export default async function handleSocialDb({
user: payload,
social_platform,
invitation,
database,
database: finalDbName,
additionalFields,
useLocal,
debug,
});
}
@@ -111,11 +147,10 @@ export default async function handleSocialDb({
data[key] = payload[key];
});
/** @type {any} */
const newUser = await addDbEntry({
dbContext: database ? "Dsql User" : undefined,
paradigm: database ? "Full Access" : undefined,
dbFullName: database ? database : "datasquirel",
dbContext: finalDbName ? "Dsql User" : undefined,
paradigm: finalDbName ? "Full Access" : undefined,
dbFullName: finalDbName,
tableName: "users",
duplicateColumnName: "email",
duplicateColumnValue: finalEmail,
@@ -123,7 +158,6 @@ export default async function handleSocialDb({
...data,
email: finalEmail,
},
useLocal,
});
if (newUser?.insertId) {
@@ -131,15 +165,15 @@ export default async function handleSocialDb({
/**
* Add a Mariadb User for this User
*/
await addMariadbUser({ userId: newUser.insertId, useLocal });
await addMariadbUser({ userId: newUser.insertId });
}
const newUserQueriedQuery = `SELECT * FROM datasquirel.users WHERE id='${newUser.insertId}'`;
const newUserQueriedQuery = `SELECT * FROM ${dbAppend}users WHERE id='${newUser.insertId}'`;
const newUserQueried = await varDatabaseDbHandler({
database: database ? database : "datasquirel",
database: finalDbName,
queryString: newUserQueriedQuery,
useLocal,
debug,
});
if (!newUserQueried || !newUserQueried[0])
@@ -215,9 +249,9 @@ export default async function handleSocialDb({
user: newUserQueried[0],
social_platform,
invitation,
database,
database: finalDbName,
additionalFields,
useLocal,
debug,
});
} else {
console.log(