aboutsummaryrefslogtreecommitdiff
path: root/server/routes/api.js
blob: 3e9c0682bfc0464fa0dcb015470ae8ca2d6fdce4 (plain) (blame)
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
const express = require('express');
const router = express.Router();
const passport = require('passport');

const userController = require('../controllers/user');
const productsController = require('../controllers/products');

const isAuth = passport.authenticate('jwt', {session: false});
const isAdmin = (req, res, next) => {
  if (!req.user.admin)
    res.status(401).json({status: "You need to be an administrator!"});
  else next();
}

router.post('/register', userController.register);
router.post('/login', userController.login);

router.get('/products', productsController.index);
router.get('/products/:id', productsController.show);

router.post('/products', isAuth, isAdmin, productsController.store);
router.patch('/products/:id', isAuth, isAdmin, productsController.update);
router.delete('/products/:id', isAuth, isAdmin, productsController.destroy);

module.exports = router;