Refactor routing configuration (#2356) by Bruception

* Refactor adding routes

* Fix lint

* Move root route

* Fix lint
This commit is contained in:
Bruce Berrios 2022-01-26 17:42:53 -05:00 committed by GitHub
parent bc96330ae9
commit fefe7cd9e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 26 deletions

View file

@ -0,0 +1,27 @@
const pathOverride = process.env.API_PATH_OVERRIDE;
const BASE_ROUTE = pathOverride ? `/${pathOverride}` : "";
const API_ROUTE_MAP = {
"/user": require("./user"),
"/config": require("./config"),
"/results": require("./result"),
"/presets": require("./preset"),
"/quote-ratings": require("./quote-ratings"),
"/psa": require("./psa"),
"/leaderboard": require("./leaderboards"),
"/new-quotes": require("./new-quotes"),
};
function addApiRoutes(app) {
app.get("/", (req, res) => {
res.status(200).json({ message: "OK" });
});
Object.keys(API_ROUTE_MAP).forEach((route) => {
const apiRoute = `${BASE_ROUTE}${route}`;
const router = API_ROUTE_MAP[route];
app.use(apiRoute, router);
});
}
module.exports = addApiRoutes;

View file

@ -10,6 +10,7 @@ const Logger = require("./handlers/logger.js");
const serviceAccount = require("./credentials/serviceAccountKey.json");
const { connectDB, mongoDB } = require("./init/mongodb");
const BotDAO = require("./dao/bot");
const addApiRoutes = require("./api/routes");
const PORT = process.env.PORT || 5005;
@ -29,32 +30,7 @@ app.use((req, res, next) => {
}
});
let startingPath = "";
if (process.env.API_PATH_OVERRIDE) {
startingPath = "/" + process.env.API_PATH_OVERRIDE;
}
app.get("/", (req, res) => {
res.status(200).json({ message: "OK" });
});
const userRouter = require("./api/routes/user");
app.use(startingPath + "/user", userRouter);
const configRouter = require("./api/routes/config");
app.use(startingPath + "/config", configRouter);
const resultRouter = require("./api/routes/result");
app.use(startingPath + "/results", resultRouter);
const presetRouter = require("./api/routes/preset");
app.use(startingPath + "/presets", presetRouter);
const quoteRatings = require("./api/routes/quote-ratings");
app.use(startingPath + "/quote-ratings", quoteRatings);
const psaRouter = require("./api/routes/psa");
app.use(startingPath + "/psa", psaRouter);
const leaderboardsRouter = require("./api/routes/leaderboards");
app.use(startingPath + "/leaderboard", leaderboardsRouter);
const newQuotesRouter = require("./api/routes/new-quotes");
app.use(startingPath + "/new-quotes", newQuotesRouter);
addApiRoutes(app);
//DO NOT REMOVE NEXT, EVERYTHING WILL EXPLODE
app.use(function (e, req, res, next) {