mirror of
https://github.com/kevin-DL/complete-node-bootcamp.git
synced 2026-01-17 13:34:56 +00:00
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const userController = require('./../controllers/userController');
|
|
const authController = require('./../controllers/authController');
|
|
|
|
const router = express.Router();
|
|
|
|
router.post('/signup', authController.signup);
|
|
router.post('/login', authController.login);
|
|
router.get('/logout', authController.logout);
|
|
|
|
router.post('/forgotPassword', authController.forgotPassword);
|
|
router.patch('/resetPassword/:token', authController.resetPassword);
|
|
|
|
// Protect all routes after this middleware
|
|
router.use(authController.protect);
|
|
|
|
router.patch('/updateMyPassword', authController.updatePassword);
|
|
router.get('/me', userController.getMe, userController.getUser);
|
|
router.patch(
|
|
'/updateMe',
|
|
userController.uploadUserPhoto,
|
|
userController.resizeUserPhoto,
|
|
userController.updateMe
|
|
);
|
|
router.delete('/deleteMe', userController.deleteMe);
|
|
|
|
router.use(authController.restrictTo('admin'));
|
|
|
|
router
|
|
.route('/')
|
|
.get(userController.getAllUsers)
|
|
.post(userController.createUser);
|
|
|
|
router
|
|
.route('/:id')
|
|
.get(userController.getUser)
|
|
.patch(userController.updateUser)
|
|
.delete(userController.deleteUser);
|
|
|
|
module.exports = router;
|