// @ts-check /** * ============================================================================== * Imports * ============================================================================== */ const DB_HANDLER = require("../../../utils/backend/global-db/DB_HANDLER"); const handleNodemailer = require("../../backend/handleNodemailer"); const serverError = require("../../backend/serverError"); const hashPassword = require("../../dsql/hashPassword"); ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// /** * ============================================================================== * Main Function * ============================================================================== * @param {object} params - parameters object * @param {any} params.body * @param {import("../../../types").UserType} params.usertype */ module.exports = 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}'` ); //////////////////////////////////////////////// //////////////////////////////////////////////// //////////////////////////////////////////////// /** * Send email notifications to admin * * @description Send verification email to newly created agent */ // handleNodemailer({ // to: "", // subject: "New Registered Buyer", // text: "We have a new registered Buyer from facebook", // html: ` //
We have a new buyer registration
//