35 lines
872 B
JavaScript
35 lines
872 B
JavaScript
"use strict";
|
|
|
|
import ServerRouter from 'powahroot/Server.mjs';
|
|
|
|
import middleware_log from './routes/middleware_log.mjs';
|
|
import middleware_catch_errors from './routes/middleware_errors.mjs';
|
|
import route_table from './routes/table.mjs';
|
|
import route_static from './routes/static.mjs';
|
|
import route_status from './routes/status.mjs';
|
|
|
|
export default function(sys) {
|
|
const router = new ServerRouter();
|
|
|
|
router.on_all(middleware_catch_errors.bind(this, sys.config.verbose));
|
|
router.on_all(middleware_log);
|
|
|
|
|
|
///
|
|
// API
|
|
///
|
|
router.get(`/api/status`, route_status.bind(this, sys));
|
|
router.get(`/api/table/:table_name`, route_table.bind(this, sys));
|
|
|
|
///
|
|
// Web interface
|
|
///
|
|
router.get(`/`, async (ctx, next) => {
|
|
ctx.params.filepath = `index.html`;
|
|
await route_static(ctx, next);
|
|
});
|
|
router.get(`/static/::filepath`, route_static);
|
|
|
|
return router;
|
|
}
|