Guest User

Untitled

a guest
Jun 24th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. const User = require('../../schema/schemaUser.js');
  2. const passwordHash = require("password-hash");
  3.  
  4. function signup(req, res) {
  5. if (!req.body.email || !req.body.password) {
  6. //Le cas où l'email ou bien le password ne serait pas soumit ou nul
  7. res.status(400).json({
  8. "text": "Requête invalide"
  9. })
  10. } else {
  11. var user = {
  12. email: req.body.email,
  13. password: passwordHash.generate(req.body.password)
  14. }
  15. var findUser = new Promise(function (resolve, reject) {
  16. User.findOne({
  17. email: user.email
  18. }, function (err, result) {
  19. if (err) {
  20. reject(500);
  21. } else {
  22. if (result) {
  23. reject(204)
  24. } else {
  25. resolve(true)
  26. }
  27. }
  28. })
  29. })
  30.  
  31. findUser.then(function () {
  32. var _u = new User(user);
  33. _u.save(function (err, user) {
  34. if (err) {
  35. res.status(500).json({
  36. "text": "Erreur interne"
  37. })
  38. } else {
  39. res.status(200).json({
  40. "text": "Succès",
  41. "token": user.getToken()
  42. })
  43. }
  44. })
  45. }, function (error) {
  46. switch (error) {
  47. case 500:
  48. res.status(500).json({
  49. "text": "Erreur interne"
  50. })
  51. break;
  52. case 204:
  53. res.status(204).json({
  54. "text": "L'adresse email existe déjà"
  55. })
  56. break;
  57. default:
  58. res.status(500).json({
  59. "text": "Erreur interne"
  60. })
  61. }
  62. })
  63. }
  64. }
  65.  
  66. function login(req, res) {
  67. if (!req.body.email || !req.body.password) {
  68. //Le cas où l'email ou bien le password ne serait pas soumit ou nul
  69. res.status(400).json({
  70. "text": "Requête invalide"
  71. })
  72. } else {
  73. User.findOne({
  74. email: req.body.email
  75. }, function (err, user) {
  76. if (err) {
  77. res.status(500).json({
  78. "text": "Erreur interne"
  79. })
  80. } else if (!user) {
  81. res.status(401).json({
  82. "text": "L'utilisateur n'existe pas"
  83. })
  84. } else {
  85. if (user.authenticate(req.body.password)) {
  86. res.status(200).json({
  87. "token": user.getToken(),
  88. "text": "Authentification réussi"
  89. })
  90. } else {
  91. res.status(401).json({
  92. "text": "Mot de passe incorrect"
  93. })
  94. }
  95. }
  96. })
  97. }
  98. }
  99.  
  100. //On exporte nos deux fonctions
  101.  
  102. exports.login = login;
  103. exports.signup = signup;
Add Comment
Please, Sign In to add comment