-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathrouter.js
More file actions
35 lines (22 loc) · 1.43 KB
/
router.js
File metadata and controls
35 lines (22 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const Router = require('koa-router');
const handleMongooseValidationError = require('./middlewares/validationErrors');
const mustBeAuthenticated = require('./middlewares/mustBeAuthenticated');
const {
productsBySubcategory, productsByQuery, productList, productBySlug
} = require('./controllers/products');
const router = new Router({prefix: '/api'});
router.use(require('./middlewares/session'));
router.get('/recommendations', require('./controllers/recommendations'));
router.get('/categories', require('./controllers/categories'));
router.get('/products', productsBySubcategory, productsByQuery, productList);
router.get('/products/:slug', productBySlug);
router.post('/login', require('./controllers/login'));
router.get('/oauth/:provider', require('./controllers/oauth').oauth);
router.post('/oauth_callback', handleMongooseValidationError, require('./controllers/oauth').oauthCallback);
router.get('/me', mustBeAuthenticated, require('./controllers/me'));
router.get('/messages', mustBeAuthenticated, require('./controllers/messages'));
router.post('/register', handleMongooseValidationError, require('./controllers/registration').register);
router.post('/confirm', require('./controllers/registration').confirm);
router.get('/orders', mustBeAuthenticated, require('./controllers/orders').ordersList);
router.post('/orders', mustBeAuthenticated, handleMongooseValidationError, require('./controllers/orders').checkout);
module.exports = router;