|
const { registerUser, requestPasswordReset, resetPassword } = require('../services/auth.service'); |
|
|
|
const isProduction = process.env.NODE_ENV === 'production'; |
|
|
|
const registrationController = async (req, res) => { |
|
try { |
|
const response = await registerUser(req.body); |
|
if (response.status === 200) { |
|
const { status, user } = response; |
|
const token = user.generateToken(); |
|
|
|
res.cookie('token', token, { |
|
expires: new Date(Date.now() + eval(process.env.SESSION_EXPIRY)), |
|
httpOnly: false, |
|
secure: isProduction, |
|
}); |
|
res.status(status).send({ user }); |
|
} else { |
|
const { status, message } = response; |
|
res.status(status).send({ message }); |
|
} |
|
} catch (err) { |
|
console.log(err); |
|
return res.status(500).json({ message: err.message }); |
|
} |
|
}; |
|
|
|
const getUserController = async (req, res) => { |
|
return res.status(200).send(req.user); |
|
}; |
|
|
|
const resetPasswordRequestController = async (req, res) => { |
|
try { |
|
const resetService = await requestPasswordReset(req.body.email); |
|
if (resetService.link) { |
|
return res.status(200).json(resetService); |
|
} else { |
|
return res.status(400).json(resetService); |
|
} |
|
} catch (e) { |
|
console.log(e); |
|
return res.status(400).json({ message: e.message }); |
|
} |
|
}; |
|
|
|
const resetPasswordController = async (req, res) => { |
|
try { |
|
const resetPasswordService = await resetPassword( |
|
req.body.userId, |
|
req.body.token, |
|
req.body.password, |
|
); |
|
if (resetPasswordService instanceof Error) { |
|
return res.status(400).json(resetPasswordService); |
|
} else { |
|
return res.status(200).json(resetPasswordService); |
|
} |
|
} catch (e) { |
|
console.log(e); |
|
return res.status(400).json({ message: e.message }); |
|
} |
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = { |
|
getUserController, |
|
|
|
registrationController, |
|
resetPasswordRequestController, |
|
resetPasswordController, |
|
}; |
|
|