datasquirel/dist/package-shared/functions/api/social-login/facebookLogin.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

62 lines
2.0 KiB
JavaScript

import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
import serverError from "../../backend/serverError";
import hashPassword from "../../dsql/hashPassword";
/**
* # Facebook Login
*/
export default async function facebookLogin({ usertype, body, }) {
try {
const foundUser = await DB_HANDLER(`SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`);
if (foundUser && foundUser[0]) {
return foundUser[0];
}
let socialHashedPassword = hashPassword({
password: body.facebookUserId,
});
let newUser = await DB_HANDLER(`INSERT INTO ${usertype} (
first_name,
last_name,
social_platform,
social_name,
email,
image,
image_thumbnail,
password,
verification_status,
social_login,
social_id,
terms_agreement,
date_created,
date_code
) VALUES (
'${body.facebookUserFirstName}',
'${body.facebookUserLastName}',
'facebook',
'facebook_${body.facebookUserEmail
? body.facebookUserEmail.replace(/@.*/, "")
: body.facebookUserFirstName.toLowerCase()}',
'${body.facebookUserEmail}',
'${body.facebookUserImage}',
'${body.facebookUserImage}',
'${socialHashedPassword}',
'1',
'1',
'${body.facebookUserId}',
'1',
'${Date()}',
'${Date.now()}'
)`);
const newFoundUser = await DB_HANDLER(`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`);
}
catch ( /** @type {any} */error) {
serverError({
component: "functions/backend/facebookLogin",
message: error.message,
});
}
return {
isFacebookAuthValid: false,
newFoundUser: null,
};
}