|
1 | 1 | import express from 'express'; |
2 | 2 | import expressJwt from 'express-jwt'; |
| 3 | +import validate from 'express-validation'; |
| 4 | +import paramValidation from '../../config/param-validation'; |
3 | 5 | import postCtrl from '../controllers/post.controller'; |
4 | 6 | import voteCtrl from '../controllers/vote.controller'; |
5 | 7 | import transferField from '../middleware/transferField'; |
6 | 8 | import commentCtrl from '../controllers/comment.controller'; |
| 9 | +import relatedLinkCtrl from '../controllers/relatedLink.controller'; |
7 | 10 | import favoriteCtrl from '../controllers/favorite.controller'; |
8 | 11 | import listenedCtrl from '../controllers/listened.controller'; |
9 | 12 | import config from '../../config/config'; |
10 | 13 |
|
11 | 14 | const router = express.Router(); // eslint-disable-line new-cap |
12 | 15 |
|
13 | 16 | router.route('/') |
14 | | - .get(expressJwt({ secret: config.jwtSecret, credentialsRequired: false }), postCtrl.list); |
| 17 | + .get(expressJwt({ secret: config.jwtSecret |
| 18 | + , credentialsRequired: false }), postCtrl.list); |
15 | 19 |
|
16 | 20 | router.route('/recommendations') |
17 | | - .get(expressJwt({ secret: config.jwtSecret }), postCtrl.recommendations); |
| 21 | + .get(expressJwt({ secret: config.jwtSecret }) |
| 22 | + , postCtrl.recommendations); |
18 | 23 |
|
19 | 24 | router.route('/:postId') |
20 | 25 | .get(postCtrl.get); |
21 | 26 |
|
22 | 27 | router.route('/:postId/comments') |
23 | | - .get(expressJwt({ secret: config.jwtSecret, credentialsRequired: false }), commentCtrl.list); |
| 28 | + .get(expressJwt({ secret: config.jwtSecret |
| 29 | + , credentialsRequired: false }), commentCtrl.list); |
24 | 30 |
|
25 | 31 | // Create a comment: |
26 | 32 | router.route('/:postId/comment') |
27 | 33 | .post( |
28 | 34 | expressJwt({ secret: config.jwtSecret }) |
| 35 | + , validate(paramValidation.comment) |
29 | 36 | , commentCtrl.create); |
30 | 37 |
|
| 38 | +// Get related links associated with postId |
| 39 | +router.route('/:postId/related-links') |
| 40 | + .get(expressJwt({ secret: config.jwtSecret, credentialsRequired: false }) |
| 41 | + , relatedLinkCtrl.list); |
| 42 | + |
| 43 | +// Add a related-link to postId: |
| 44 | +router.route('/:postId/related-link') |
| 45 | + .post( |
| 46 | + expressJwt({ secret: config.jwtSecret }) |
| 47 | + , validate(paramValidation.relatedLinkCreate) |
| 48 | + , relatedLinkCtrl.create); |
| 49 | + |
31 | 50 | router.route('/:postId/upvote') |
32 | 51 | .post(expressJwt({ secret: config.jwtSecret }) |
33 | 52 | , transferField({source: 'post', target: 'entity'}) |
|
0 commit comments