mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-03-10 21:53:13 +08:00
Refactor routing configuration (#2356) by Bruception
* Refactor adding routes * Fix lint * Move root route * Fix lint
This commit is contained in:
parent
bc96330ae9
commit
fefe7cd9e9
2 changed files with 29 additions and 26 deletions
27
backend/api/routes/index.js
Normal file
27
backend/api/routes/index.js
Normal 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;
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue