summaryrefslogtreecommitdiffstats
path: root/server/router.js
blob: 076a15c4e4ae193a1cb6458e3bbdbf04d3c19317 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 /<api>/...
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