You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

23 lines
651 B

  1. const registerRepo = require('../repository');
  2. async function createUser(req, res) {
  3. let user = {};
  4. const registerSuccessMessage = 'You have successfully registered, you can now log in.';
  5. try {
  6. user = await registerRepo.createUser(req.body);
  7. } catch (error) {
  8. user = error;
  9. }
  10. if (user.email) {
  11. req.session.messages = { success: registerSuccessMessage };
  12. res.redirect('/login');
  13. }
  14. const { code } = user;
  15. const databaseError =
  16. code === '23505' ? 'The email has already been taken.' : 'Something went wrong.';
  17. req.session.messages = { databaseError };
  18. res.redirect('/register');
  19. }
  20. module.exports = createUser;