From 17591fc7edf4104895b5842d9bf3b0e8eff98304 Mon Sep 17 00:00:00 2001 From: Jannik Schönartz Date: Fri, 10 Aug 2018 02:41:57 +0000 Subject: [server/router] Rework router Reworked the router to match more design guidlines with the REST apis --- server/router.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'server/router.js') diff --git a/server/router.js b/server/router.js index f77d09a..fbd71f2 100644 --- a/server/router.js +++ b/server/router.js @@ -1,6 +1,7 @@ var express = require('express') var router = express.Router() var path = require('path') +var fs = require('fs'); // Authentication routes var auth = require(path.join(__dirname, 'lib', 'authentication')) @@ -14,6 +15,16 @@ router.post('/changepassword', auth.changePassword) var ipxe = require(path.join(__dirname, 'api', 'ipxe')) router.get('/ipxe/loadScript', ipxe.get.loadScript) +// Forward routing to every api module with //... +fs.readdirSync(path.join(__dirname, 'api')).forEach(filename => { + var api = require(path.join(__dirname, 'api', filename)) + if (api.router) router.use('/' + filename.split('.')[0] + '/', auth.verifyToken, api.router) +}) + +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// !!!!!!!! TODO: DELETE IF ALL MODULES ARE REWORKED WITH exports.router !!!!!!! +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + // Dynamic API routes function mapApi (method) { return function (req, res) { @@ -30,6 +41,10 @@ function mapApi (method) { router.get('/:api/:action', auth.verifyToken, mapApi('get')) router.post('/:api/:action', auth.verifyToken, mapApi('post')) +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + router.use('*', (req, res) => { res.status(404).end() }) -- cgit v1.2.3-55-g7522