1+ const express = require ( 'express' ) ;
2+
3+ const {
4+ getEvents,
5+ getEvent,
6+ createEvent,
7+ updateEvent,
8+ deleteEvent,
9+ getEventsInRadius,
10+ eventPhotoUpload
11+ } = require ( '../controllers/Events' ) ;
12+
13+ const Event = require ( '../models/Event' ) ;
14+
15+ // Include other resource routers
16+ const courseRouter = require ( './talks' ) ;
17+ const reviewRouter = require ( './reviews' ) ;
18+
19+ const router = express . Router ( ) ;
20+
21+ const advancedResults = require ( '../middleware/advancedResults' ) ;
22+ const { protect, authorize } = require ( '../middleware/auth' ) ;
23+
24+ // Re-route into other resource routers
25+ router . use ( '/:eventId/talks' , courseRouter ) ;
26+ router . use ( '/:eventId/reviews' , reviewRouter ) ;
27+
28+ router . route ( '/radius/:zipcode/:distance' ) . get ( getEventsInRadius ) ;
29+
30+ router . route ( '/:id/photo' ) . put ( protect , authorize ( 'publisher' , 'admin' ) , eventPhotoUpload ) ;
31+
32+ router
33+ . route ( '/' )
34+ . get ( advancedResults ( Event , 'talks' ) , getEvents )
35+ . post ( protect , authorize ( 'publisher' , 'admin' ) , createEvent ) ;
36+
37+ router
38+ . route ( '/:id' )
39+ . get ( getEvent )
40+ . put ( protect , authorize ( 'publisher' , 'admin' ) , updateEvent )
41+ . delete ( protect , authorize ( 'publisher' , 'admin' ) , deleteEvent ) ;
42+
43+ module . exports = router ;
0 commit comments