Starting anew, before I changed to a custom chart
This commit is contained in:
35
server/src/mainRouter.ts
Normal file
35
server/src/mainRouter.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import express from "express";
|
||||
import {ClayPIError, GenericPersistenceError} from "./errors";
|
||||
import newSnapshotRouter from "./snapshotRouter";
|
||||
import {CollectionRegistry} from "./Collections";
|
||||
|
||||
export function newMainRouter(collections: CollectionRegistry) {
|
||||
const router = express.Router();
|
||||
const snapshotRouter = newSnapshotRouter(collections);
|
||||
|
||||
router.get("/dashboard", (req, res) => {
|
||||
res.render("index.ejs", { rootUrl: req.app.locals.rootUrl });
|
||||
});
|
||||
router.use("/api/snapshots", snapshotRouter);
|
||||
router.use(topLevelErrorHandler);
|
||||
|
||||
return router;
|
||||
}
|
||||
|
||||
const topLevelErrorHandler: express.ErrorRequestHandler = (err, req, res, next) => {
|
||||
const errOutput = {
|
||||
error: true,
|
||||
message: "",
|
||||
};
|
||||
if (err instanceof GenericPersistenceError) {
|
||||
errOutput.message = `An error occurred accessing the database: ${err.displayMessage}`;
|
||||
}
|
||||
else if (err instanceof ClayPIError) {
|
||||
errOutput.message = `An error occurred: ${err.displayMessage}`;
|
||||
}
|
||||
else {
|
||||
errOutput.message = "An unknown error occurred!";
|
||||
}
|
||||
console.log({...errOutput, internalMessage: err.message});
|
||||
res.status(500).send(errOutput);
|
||||
};
|
||||
Reference in New Issue
Block a user