setup-mern
Version:
A CLI tool to generate a MERN backend boilerplate in seconds!
21 lines (17 loc) • 674 B
JavaScript
const User = require('../models/User');
const { JWT_SECRET, JWT_EXPIRES_IN } = require('../config/envConfig');
const jwt = require('jsonwebtoken');
// Signup service
exports.signup = async (name, email, password) => {
const newUser = await User.create({ name, email, password });
return newUser;
};
// Login service
exports.login = async (email, password) => {
const user = await User.findOne({ email }).select('+password');
if (!user || !(await user.comparePassword(password))) {
throw new Error('Incorrect email or password');
}
const token = jwt.sign({ id: user._id }, JWT_SECRET, { expiresIn: JWT_EXPIRES_IN });
return token;
};