From 286219c5eaf3ae06272d34337463169f55083d63 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Mon, 27 Nov 2023 21:29:52 -0500 Subject: [PATCH] Reorganized routes code into a separate file --- index.js | 28 ++-------------------------- src/routes/index.js | 38 +++++++++++++++++++++++++++++++------- src/routes/toplevel.js | 9 +++++++++ 3 files changed, 42 insertions(+), 33 deletions(-) create mode 100644 src/routes/toplevel.js diff --git a/index.js b/index.js index 1d31c45..67fc2c7 100644 --- a/index.js +++ b/index.js @@ -32,32 +32,8 @@ app.set('view engine', 'twig'); // enable serving static files app.use(express.static('public')); -// load routes -const indexRoutes = require('./src/routes/index'); -const projectRoutes = require('./src/routes/project'); -const hardwareRoutes = require('./src/routes/hardware'); -const benchmarkRoutes = require('./src/routes/benchmark'); - -// register routes -app.get('/', indexRoutes.getIndex); -// project routes -app.get('/project', projectRoutes.getIndex); -app.get('/project/list', projectRoutes.getList); -app.get('/project/add', projectRoutes.getAdd); -app.post('/project/add', projectRoutes.postAdd); -app.get('/project/:project_id', projectRoutes.getView); -// hardware routes -app.get('/hardware', hardwareRoutes.getIndex); -app.get('/hardware/list', hardwareRoutes.getList); -app.get('/hardware/add', hardwareRoutes.getAdd); -app.post('/hardware/add', hardwareRoutes.postAdd); -app.get('/hardware/:hardware_id', hardwareRoutes.getView); -// benchmark routes -app.get('/benchmark', benchmarkRoutes.getIndex); -app.get('/benchmark/list', benchmarkRoutes.getList); -app.get('/benchmark/add', benchmarkRoutes.getAdd); -app.post('/benchmark/add', benchmarkRoutes.postAdd); -app.get('/benchmark/:benchmark_id', benchmarkRoutes.getView); +// load routes to express +require('./src/routes')(app); app.listen(port, () => { console.log(`Leviathan listening on port ${port}`); diff --git a/src/routes/index.js b/src/routes/index.js index 28fa14a..3073b6b 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -1,9 +1,33 @@ -const Project = require('../models').models.Project; +// load routes +const topRoutes = require('./toplevel'); +const projectRoutes = require('./project'); +const hardwareRoutes = require('./hardware'); +const benchmarkRoutes = require('./benchmark'); + +module.exports = function(app) { + + // top-level routes + app.get('/', topRoutes.getIndex); + + // project routes + app.get('/project', projectRoutes.getIndex); + app.get('/project/list', projectRoutes.getList); + app.get('/project/add', projectRoutes.getAdd); + app.post('/project/add', projectRoutes.postAdd); + app.get('/project/:project_id', projectRoutes.getView); + + // hardware routes + app.get('/hardware', hardwareRoutes.getIndex); + app.get('/hardware/list', hardwareRoutes.getList); + app.get('/hardware/add', hardwareRoutes.getAdd); + app.post('/hardware/add', hardwareRoutes.postAdd); + app.get('/hardware/:hardware_id', hardwareRoutes.getView); + + // benchmark routes + app.get('/benchmark', benchmarkRoutes.getIndex); + app.get('/benchmark/list', benchmarkRoutes.getList); + app.get('/benchmark/add', benchmarkRoutes.getAdd); + app.post('/benchmark/add', benchmarkRoutes.postAdd); + app.get('/benchmark/:benchmark_id', benchmarkRoutes.getView); -// GET / - primary app dashboard -exports.getIndex = async function(req, res) { - var projects = await Project.findAll(); - res.render('index/dashboard', { - projects: projects - }); }; diff --git a/src/routes/toplevel.js b/src/routes/toplevel.js new file mode 100644 index 0000000..28fa14a --- /dev/null +++ b/src/routes/toplevel.js @@ -0,0 +1,9 @@ +const Project = require('../models').models.Project; + +// GET / - primary app dashboard +exports.getIndex = async function(req, res) { + var projects = await Project.findAll(); + res.render('index/dashboard', { + projects: projects + }); +};