Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.1/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.1/authController.js

const brcrypt = require("bcrypt");
const db = require("../models");

const loginController = async (req, res) => {
  try {
    const { email, password } = req.body;
    console.log(req.body);
    let [result] = await db.tblUser.findAll({
      where: {
        email: email,
      },
    });
    // return res.json({ data: result });Object.keys(obj).length === 0
    if (!result) {
      return res
        .status(404)
        .json({ status: 404, message: "user does not existed" });
    }

    const isMatched = await brcrypt.compare(password, result.password);
    if (!isMatched) {
      return res.status(403).json({ status: 403, message: "Invalid Password" });
    }
    return res.json({
      status: 200,
      message: "User loggedIn Success",
      data: [
        {
          user_id: result.user_id,
          first_name: result.first_name,
          last_name: result.last_name,
          email: result.email,
          contact: result.contact,
          address: result.address,
          business_address: result.business_address,
          business_name: result.business_name,
          username: result.username,
        },
      ],
    });
  } catch (error) {
    return res.json({ status: 500, message: `${error.message}` });
  }
};
const signupController = async (req, res) => {
  try {
    const { email, password } = req.body;
    const salt = await brcrypt.genSalt(10);
    const hashedPassword = await brcrypt.hash(password, salt);
    req.body.password = hashedPassword;
    let result;
    result = await db.tblUser.findAll({ where: { email: email } });

    if (result.length > 0) {
      return res.status(402).json({
        status: 402,
        message: "Email already existed please choose another account",
      });
    }
    result = await db.tblUser.create(req.body);

    return res.json({
      status: 200,
      message: "user created succcessfully",
      data: result,
    });
  } catch (error) {
    return res.json({ status: 500, message: `${error.message}` });
  }
};

const updateUserPassword = async (req, res) => {
  try {
    let { userId, newPassword } = req.body;
    console.log(req.body);
    if (newPassword) {
      const salt = await brcrypt.genSalt(10);
      const encrypPassword = await brcrypt.hash(newPassword, salt);
      req.body.password = encrypPassword;
      let result = await db.tblUser.update(req.body, {
        where: { user_id: userId },
      });
      console.log(result);

      return res.status(200).json({ status: 200, message: "password updated" });
    } else {
      return res.json({ status: 400, message: "newpassword undefined" });
    }
  } catch (error) {
    return res.json({ status: 500, message: `${error.message}` });
  }
};
module.exports = { loginController, signupController, updateUserPassword };

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists