backend: Login/Inscription
This commit is contained in:
11
api/routes/admin.js
Normal file
11
api/routes/admin.js
Normal file
@ -0,0 +1,11 @@
|
||||
const { Router } = require('express');
|
||||
const adminController = require('../controllers/admin');
|
||||
const isAuth = require('../middlewares/isAuth');
|
||||
const isAdmin = require('../middlewares/isAdmin');
|
||||
|
||||
const AdminRouter = Router();
|
||||
|
||||
// Permet de créé une fonction
|
||||
AdminRouter.post('/functions', isAuth, isAdmin, adminController.postFunction);
|
||||
|
||||
module.exports = AdminRouter;
|
52
api/routes/users.js
Normal file
52
api/routes/users.js
Normal file
@ -0,0 +1,52 @@
|
||||
const { Router } = require('express');
|
||||
const { body } = require('express-validator');
|
||||
const usersController = require('../controllers/users');
|
||||
const Users = require('../models/users');
|
||||
|
||||
const UsersRouter = Router();
|
||||
|
||||
// Permet de se connecter
|
||||
UsersRouter.post('/login', usersController.login);
|
||||
|
||||
// Permet de s'inscrire
|
||||
UsersRouter.post('/signup', [
|
||||
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("L'adresse email existe déjà...");
|
||||
}
|
||||
} catch (error) {
|
||||
return console.log(error);
|
||||
}
|
||||
}))
|
||||
.normalizeEmail(),
|
||||
body('password')
|
||||
.isLength({ min: 4 })
|
||||
.withMessage("Votre mot de passe est trop court!"),
|
||||
body('name')
|
||||
.trim()
|
||||
.not()
|
||||
.isEmpty()
|
||||
.withMessage("Votre nom ne peut pas être vide.")
|
||||
.isAlphanumeric()
|
||||
.withMessage("Votre nom ne peut contenir que des lettres ou/et des nombres.")
|
||||
.custom((async (name) => {
|
||||
try {
|
||||
const user = await Users.findOne({ where: { name } });
|
||||
if (user) {
|
||||
return Promise.reject("Le nom existe déjà...");
|
||||
}
|
||||
} catch (error) {
|
||||
return console.log(error);
|
||||
}
|
||||
}))
|
||||
], usersController.signup);
|
||||
|
||||
// Confirme l'inscription
|
||||
UsersRouter.get('/confirm-email/:tempToken', usersController.confirmEmail);
|
||||
|
||||
module.exports = UsersRouter;
|
Reference in New Issue
Block a user