mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-13 13:19:42 -06:00
32 lines
1021 B
JavaScript
32 lines
1021 B
JavaScript
const express = require('express')
|
|
const UserModel = require('../models/user')
|
|
const { authValidation } = require('../validation/joi')
|
|
|
|
/**
|
|
* @function
|
|
* @param {express.Request} req
|
|
* @param {express.Response} res
|
|
* @returns {{success: Boolean, msg: String}}
|
|
*/
|
|
const registerController = async (req, res) => {
|
|
// joi validation
|
|
const { error } = await authValidation.validateAsync(req.body);
|
|
if (error) return res.status(400).json({ success: false, msg: error.details[0].message });
|
|
|
|
// Check if the user exists
|
|
const isUser = await UserModel.findOne({ email: req.body.email });
|
|
if (isUser) return res.status(400).json({ success: false, msg: "User already exists!" })
|
|
|
|
try {
|
|
// Create a new user
|
|
const newUser = await UserModel.create({ ...req.body });
|
|
|
|
// Send an email to user
|
|
// Will add this later
|
|
} catch (error) {
|
|
return res.status(500).json({success:false,msg:'Something went wrong!'})
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = {registerController} |