mirror of
https://github.com/kevin-DL/complete-node-bootcamp.git
synced 2026-01-20 14:45:12 +00:00
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
const express = require('express');
|
|
const tourController = require('./../controllers/tourController');
|
|
const authController = require('./../controllers/authController');
|
|
const reviewRouter = require('./../routes/reviewRoutes');
|
|
|
|
const router = express.Router();
|
|
|
|
// router.param('id', tourController.checkID);
|
|
|
|
// POST /tour/234fad4/reviews
|
|
// GET /tour/234fad4/reviews
|
|
|
|
router.use('/:tourId/reviews', reviewRouter);
|
|
|
|
router
|
|
.route('/top-5-cheap')
|
|
.get(tourController.aliasTopTours, tourController.getAllTours);
|
|
|
|
router.route('/tour-stats').get(tourController.getTourStats);
|
|
router
|
|
.route('/monthly-plan/:year')
|
|
.get(
|
|
authController.protect,
|
|
authController.restrictTo('admin', 'lead-guide', 'guide'),
|
|
tourController.getMonthlyPlan
|
|
);
|
|
|
|
router
|
|
.route('/tours-within/:distance/center/:latlng/unit/:unit')
|
|
.get(tourController.getToursWithin);
|
|
// /tours-within?distance=233¢er=-40,45&unit=mi
|
|
// /tours-within/233/center/-40,45/unit/mi
|
|
|
|
router.route('/distances/:latlng/unit/:unit').get(tourController.getDistances);
|
|
|
|
router
|
|
.route('/')
|
|
.get(tourController.getAllTours)
|
|
.post(
|
|
authController.protect,
|
|
authController.restrictTo('admin', 'lead-guide'),
|
|
tourController.createTour
|
|
);
|
|
|
|
router
|
|
.route('/:id')
|
|
.get(tourController.getTour)
|
|
.patch(
|
|
authController.protect,
|
|
authController.restrictTo('admin', 'lead-guide'),
|
|
tourController.uploadTourImages,
|
|
tourController.resizeTourImages,
|
|
tourController.updateTour
|
|
)
|
|
.delete(
|
|
authController.protect,
|
|
authController.restrictTo('admin', 'lead-guide'),
|
|
tourController.deleteTour
|
|
);
|
|
|
|
module.exports = router;
|