Refactor Express Router in node js

Viewed 17

Howe to i prevent using this middleware repeatedly on each endpoint. is there a way i can use the isUserAuth and isAdminAuth just once and it will apply on the other routes without repeating it on each route/endpoints?

const { createBranch, getAllBranch, getBranch } = require('../controllers/user')
const { isUserAuth, isAdminAuth } = require('../middlewares/auth')

const router = require('express').Router()

// branch
router.post('/', isUserAuth, isAdminAuth, createBranch)
router.get('/', isUserAuth, isAdminAuth, getAllBranch)
router.get('/:id', isUserAuth, isAdminAuth, getBranch)
router.put('/:id', isUserAuth, isAdminAuth, getBranch)

module.exports = router

1 Answers

Consider using router.use(isUserAuth);. You can find the documentation here

Related