Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. const User = require("../../schema/schemaUser.js");
  2. const passwordHash = require("password-hash");
  3.  
  4. async function signup(req, res) {
  5. const { password, email } = req.body;
  6. if (!email || !password) {
  7. //Le cas où l'email ou bien le password ne serait pas soumit ou nul
  8. return res.status(400).json({
  9. text: "Requête invalide"
  10. });
  11. }
  12. // Création d'un objet user, dans lequel on hash le mot de passe
  13. const user = {
  14. email,
  15. password: passwordHash.generate(password)
  16. };
  17. // On check en base si l'utilisateur existe déjà
  18. try {
  19. const findUser = await User.findOne({
  20. email
  21. });
  22. if (findUser) {
  23. return res.status(400).json({
  24. text: "L'utilisateur existe déjà"
  25. });
  26. }
  27. } catch (error) {
  28. return res.status(500).json({ error });
  29. }
  30. try {
  31. // Sauvegarde de l'utilisateur en base
  32. const userData = new User(user);
  33. const userObject = await userData.save();
  34. return res.status(200).json({
  35. text: "Succès",
  36. token: userObject.getToken()
  37. });
  38. } catch (error) {
  39. return res.status(500).json({ error });
  40. }
  41. }
  42.  
  43. async function login(req, res) {
  44. const { password, email } = req.body;
  45. if (!email || !password) {
  46. //Le cas où l'email ou bien le password ne serait pas soumit ou nul
  47. return res.status(400).json({
  48. text: "Requête invalide"
  49. });
  50. }
  51. try {
  52. // On check si l'utilisateur existe en base
  53. const findUser = await User.findOne({ email });
  54. if (!findUser)
  55. return res.status(401).json({
  56. text: "L'utilisateur n'existe pas"
  57. });
  58. if (!findUser.authenticate(password))
  59. return res.status(401).json({
  60. text: "Mot de passe incorrect"
  61. });
  62. return res.status(200).json({
  63. token: findUser.getToken(),
  64. text: "Authentification réussi"
  65. });
  66. } catch (error) {
  67. return res.status(500).json({
  68. error
  69. });
  70. }
  71. }
  72.  
  73. //On exporte nos deux fonctions
  74.  
  75. exports.login = login;
  76. exports.signup = signup;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement