admin.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. const role = require('../lib/role');
  2. const bcrypt = require('bcrypt');
  3. const { User } = require('../models/user.model');
  4. const jwt = require('jsonwebtoken');
  5. const config = require('../config/config.json');
  6. var validator = require('validator');
  7. //inscription admin
  8. console.log('process.argv =>', process.argv)
  9. const email = process.argv[2];
  10. const password = process.argv[3];
  11. console.log('email =>', email);
  12. console.log('password =>', password);
  13. const user = new User();
  14. user.role = role.Admin;
  15. user.email = email;
  16. //user.password = await bcrypt.hash(password, 12)
  17. user.password = password;
  18. console.log('User =>', user)
  19. user.save().then(() => {
  20. const token = jwt.sign({ _id: user._id, email: user.email, role: user.role }, config.secret_key, { expiresIn: '10 h' });
  21. res.status(201).json(
  22. { success: true, token, expireIn: `${new Date().getTime() + 120000}` });
  23. })
  24. .catch((err) => console.log('Mon message => ', err))
  25. // exports.signup = async (req, res, next) => {
  26. // try {
  27. // // génère une exception
  28. // if (!req.body.firstname) { throw new Error('Nom introuvable') }
  29. // if (!req.body.lastname) { throw new Error('Prénom introuvable') }
  30. // if (!req.body.email) { throw new Error('Adresse email introuvable') }
  31. // if (!req.body.birthday) { throw new Error('Date de naissance introuvable') }
  32. // if (!req.body.phonenumber) { throw new Error('Numéro de téléphone introuvable') }
  33. // if (!req.body.adress) { throw new Error('Adresse introuvable') }
  34. // if (!validator.isEmail(req.body.email)) { throw new Error('Adresse email invalide') }
  35. // if (isNaN(Date.parse(req.body.birthday)) || (Date.parse(req.body.birthday)) > 1073692800000) { throw new Error('Date de naissance invalide') }
  36. // const user = await User.findOne({ email: req.body.email }, { email: 1 })
  37. // if (user) {
  38. // res.status(401).json({ success: false, message: 'Adresse email existe déja veuillez renseigner une autre adresse email' })
  39. // } else {
  40. // bcrypt.hash(req.body.password, 12)
  41. // .then(hash => {
  42. // const user = new User({
  43. // firstname: req.body.firstname,
  44. // lastname: req.body.lastname,
  45. // email: req.body.email,
  46. // role: role.Client,
  47. // birthday: req.body.birthday,
  48. // phonenumber: req.body.phonenumber,
  49. // adress: req.body.adress,
  50. // isActive: true,
  51. // isGain: false,
  52. // password: hash
  53. // });
  54. // user.save()
  55. // .then(() => {
  56. // const token = jwt.sign({ userId: user._id, email: user.email, role: user.role }, config.secret_key, { expiresIn: '10 h' })
  57. // res.status(201).json(
  58. // { success: true, token, expireIn: `${new Date().getTime() + 120000}` })
  59. // })
  60. // .catch((err) => res.status(500).json({ success: false, message: err.message }))
  61. // })
  62. // .catch(() => res.status(400).json({ success: false, message: 'Erreur dans le mot de passe' }));
  63. // }
  64. // }
  65. // catch (err) {
  66. // res.status(400).json({ success: false, message: err.message })
  67. // }
  68. // };