const User = require("../models/user"); const jwt = require("jsonwebtoken"); const createToken = (_id) => { return jwt.sign({ _id }, process.env.SECRET, { expiresIn: "1d" }); }; //login const loginUser = async (req, res) => { const { email, password } = req.body; try { const user = await User.login(email, password); // create a token const token = createToken(user._id); const name = user.userName; res.status(200).json({ email, token, name }); } catch (error) { res.status(400).json({ error: error.message }); } }; //signup const signupUser = async (req, res) => { const { email, password, userName, phoneNumber, gender, avatarImgURL } = req.body; try { const user = await User.signup( email, password, userName, phoneNumber, gender, avatarImgURL ); // create a token const token = createToken(user._id); const name = user.userName; res.status(200).json({ email, token, name }); } catch (error) { res.status(400).json({ error: error.message }); } }; //get all users const getAllUsers = async (req, res) => { const users = await User.find({}).sort({ createdAt: -1 }); res.status(200).json(users); }; module.exports = { loginUser, signupUser, getAllUsers };