var express = require('express') var router = express.Router() var path = require('path') var fs = require('fs') var permissionHelper = require(path.join(__dirname, 'lib', 'permissions', 'permissionhelper')) var auth = require(path.join(__dirname, 'lib', 'authentication')) // Forward routing to every api module with //... fs.readdirSync(path.join(__dirname, 'api')).forEach(filename => { var api = require(path.join(__dirname, 'api', filename)) // Public callable functions. if (api.noAuthRouter) router.use('/' + filename.split('.')[0] + '/', api.noAuthRouter) // Authentication needed if (api.router) router.use('/' + filename.split('.')[0] + '/', auth.verifyToken, permissionHelper.exportFunctions, api.router) }) router.use('*', (req, res) => { res.status(404).end() }) module.exports = router