🐛 normalizeEmail is now disabled
This commit is contained in:
		| @@ -10,11 +10,12 @@ const UsersRouter = Router() | ||||
|  | ||||
| UsersRouter.route('/') | ||||
|  | ||||
| // Récupère les utilisateurs | ||||
|   // Récupère les utilisateurs | ||||
|   .get(usersController.getUsers) | ||||
|  | ||||
| // Permet de modifier son profil | ||||
|   .put(isAuth, | ||||
|   // Permet de modifier son profil | ||||
|   .put( | ||||
|     isAuth, | ||||
|     fileUpload({ | ||||
|       useTempFiles: true, | ||||
|       safeFileNames: true, | ||||
| @@ -26,7 +27,7 @@ UsersRouter.route('/') | ||||
|       body('email') | ||||
|         .isEmail() | ||||
|         .withMessage('Veuillez rentré une adresse mail valide.') | ||||
|         .custom(async (email) => { | ||||
|         .custom(async email => { | ||||
|           try { | ||||
|             const user = await Users.findOne({ where: { email } }) | ||||
|             if (user && user.email !== email) { | ||||
| @@ -44,10 +45,12 @@ UsersRouter.route('/') | ||||
|         .isEmpty() | ||||
|         .withMessage('Vous devez avoir un nom (ou pseudo).') | ||||
|         .isAlphanumeric() | ||||
|         .withMessage('Votre nom ne peut contenir que des lettres ou/et des nombres.') | ||||
|         .withMessage( | ||||
|           'Votre nom ne peut contenir que des lettres ou/et des nombres.' | ||||
|         ) | ||||
|         .isLength({ max: 30 }) | ||||
|         .withMessage('Votre nom est trop long') | ||||
|         .custom(async (name) => { | ||||
|         .custom(async name => { | ||||
|           try { | ||||
|             const user = await Users.findOne({ where: { name } }) | ||||
|             if (user && user.name !== name) { | ||||
| @@ -60,86 +63,105 @@ UsersRouter.route('/') | ||||
|         }), | ||||
|       body('isPublicEmail') | ||||
|         .isBoolean() | ||||
|         .withMessage("L'adresse email peut être public ou privé, rien d'autre."), | ||||
|         .withMessage( | ||||
|           "L'adresse email peut être public ou privé, rien d'autre." | ||||
|         ), | ||||
|       body('biography') | ||||
|         .trim() | ||||
|         .escape() | ||||
|     ], usersController.putUser) | ||||
|     ], | ||||
|     usersController.putUser | ||||
|   ) | ||||
|  | ||||
| // Permet de se connecter | ||||
| UsersRouter.post('/login', [ | ||||
|   body('email') | ||||
|     .not() | ||||
|     .isEmpty() | ||||
|     .withMessage(requiredFields.message), | ||||
|   body('password') | ||||
|     .not() | ||||
|     .isEmpty() | ||||
|     .withMessage(requiredFields.message) | ||||
| ], usersController.login) | ||||
| UsersRouter.post( | ||||
|   '/login', | ||||
|   [ | ||||
|     body('email') | ||||
|       .not() | ||||
|       .isEmpty() | ||||
|       .withMessage(requiredFields.message), | ||||
|     body('password') | ||||
|       .not() | ||||
|       .isEmpty() | ||||
|       .withMessage(requiredFields.message) | ||||
|   ], | ||||
|   usersController.login | ||||
| ) | ||||
|  | ||||
| // Récupère les informations public d'un profil | ||||
| UsersRouter.get('/:name', usersController.getUserInfo) | ||||
|  | ||||
| // Permet de s'inscrire | ||||
| UsersRouter.post('/register', [ | ||||
|   body('email') | ||||
|     .isEmail() | ||||
|     .withMessage('Veuillez rentré une adresse mail valide.') | ||||
|     .custom(async (email) => { | ||||
|       try { | ||||
|         const user = await Users.findOne({ where: { email } }) | ||||
|         if (user) { | ||||
|           return Promise.reject(new Error("L'adresse email existe déjà...")) | ||||
| UsersRouter.post( | ||||
|   '/register', | ||||
|   [ | ||||
|     body('email') | ||||
|       .isEmail() | ||||
|       .withMessage('Veuillez rentré une adresse mail valide.') | ||||
|       .custom(async email => { | ||||
|         try { | ||||
|           const user = await Users.findOne({ where: { email } }) | ||||
|           if (user) { | ||||
|             return Promise.reject(new Error("L'adresse email existe déjà...")) | ||||
|           } | ||||
|         } catch (error) { | ||||
|           return console.log(error) | ||||
|         } | ||||
|       } catch (error) { | ||||
|         return console.log(error) | ||||
|       } | ||||
|       return true | ||||
|     }) | ||||
|     .normalizeEmail(), | ||||
|   body('password') | ||||
|     .isLength({ min: 4 }) | ||||
|     .withMessage('Votre mot de passe est trop court!'), | ||||
|   body('name') | ||||
|     .trim() | ||||
|     .not() | ||||
|     .isEmpty() | ||||
|     .withMessage('Vous devez avoir un nom (ou pseudo).') | ||||
|     .isAlphanumeric() | ||||
|     .withMessage('Votre nom ne peut contenir que des lettres ou/et des nombres.') | ||||
|     .isLength({ max: 30 }) | ||||
|     .withMessage('Votre nom est trop long') | ||||
|     .custom(async (name) => { | ||||
|       try { | ||||
|         const user = await Users.findOne({ where: { name } }) | ||||
|         if (user) { | ||||
|           return Promise.reject(new Error('Le nom existe déjà...')) | ||||
|         return true | ||||
|       }), | ||||
|     body('password') | ||||
|       .isLength({ min: 4 }) | ||||
|       .withMessage('Votre mot de passe est trop court!'), | ||||
|     body('name') | ||||
|       .trim() | ||||
|       .not() | ||||
|       .isEmpty() | ||||
|       .withMessage('Vous devez avoir un nom (ou pseudo).') | ||||
|       .isAlphanumeric() | ||||
|       .withMessage( | ||||
|         'Votre nom ne peut contenir que des lettres ou/et des nombres.' | ||||
|       ) | ||||
|       .isLength({ max: 30 }) | ||||
|       .withMessage('Votre nom est trop long') | ||||
|       .custom(async name => { | ||||
|         try { | ||||
|           const user = await Users.findOne({ where: { name } }) | ||||
|           if (user) { | ||||
|             return Promise.reject(new Error('Le nom existe déjà...')) | ||||
|           } | ||||
|         } catch (error) { | ||||
|           console.log(error) | ||||
|         } | ||||
|       } catch (error) { | ||||
|         console.log(error) | ||||
|       } | ||||
|       return true | ||||
|     }) | ||||
| ], usersController.register) | ||||
|         return true | ||||
|       }) | ||||
|   ], | ||||
|   usersController.register | ||||
| ) | ||||
|  | ||||
| // Confirme l'inscription | ||||
| UsersRouter.get('/confirm-email/:tempToken', usersController.confirmEmail) | ||||
|  | ||||
| UsersRouter.route('/reset-password') | ||||
|  | ||||
| // Demande une réinitialisation du mot de passe | ||||
|   .post([ | ||||
|     body('email') | ||||
|       .isEmail() | ||||
|       .withMessage('Veuillez rentré une adresse mail valide.') | ||||
|   ], usersController.resetPassword) | ||||
|   // Demande une réinitialisation du mot de passe | ||||
|   .post( | ||||
|     [ | ||||
|       body('email') | ||||
|         .isEmail() | ||||
|         .withMessage('Veuillez rentré une adresse mail valide.') | ||||
|     ], | ||||
|     usersController.resetPassword | ||||
|   ) | ||||
|  | ||||
| // Nouveau mot de passe | ||||
|   .put([ | ||||
|     body('password') | ||||
|       .isLength({ min: 4 }) | ||||
|       .withMessage('Votre mot de passe est trop court!') | ||||
|   ], usersController.newPassword) | ||||
|   // Nouveau mot de passe | ||||
|   .put( | ||||
|     [ | ||||
|       body('password') | ||||
|         .isLength({ min: 4 }) | ||||
|         .withMessage('Votre mot de passe est trop court!') | ||||
|     ], | ||||
|     usersController.newPassword | ||||
|   ) | ||||
|  | ||||
| module.exports = UsersRouter | ||||
|   | ||||
		Reference in New Issue
	
	Block a user