summaryrefslogblamecommitdiffstats
path: root/server/router.js
blob: 4aa7e54ee8f73af82fd5d1df06fa36b2f512d463 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                                
                      
                                                                                    
                                                                 
 


                                                                 


                                                                                        
                                                                                                                        

  



                               
                       
var express = require('express')
var router = express.Router()
var path = require('path')
var fs = require('fs')
var permUtil = require(path.join(__dirname, 'lib', 'permissions', 'permissionutil'))
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, permUtil.exportFunctions, api.router)
})

router.use('*', (req, res) => {
  res.status(404).end()
})

module.exports = router