From 39a9f0c209d2780d9bfcaecceb3df7deacfd4fc7 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sun, 26 Jun 2022 17:10:59 +0200 Subject: [PATCH] Created the backend server (api) --- server/api.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 server/api.js diff --git a/server/api.js b/server/api.js new file mode 100644 index 0000000..0ac517c --- /dev/null +++ b/server/api.js @@ -0,0 +1,44 @@ +const express = require('express'); +const cors = require('cors'); +const rateLimit = require('express-rate-limit'); + +// Create a new express app +const app = express(); + +// Add all needed middlewares +app.use(cors()); +app.use(express.json()); +app.use(require('../middlewares/error')); + +// Add rate limiting +app.use("*", rateLimit({windowMs: 10 * 60 * 1000, max: 100, standardHeaders: true, legacyHeaders: false})); + +// Register routes +app.use("/user", require('../routes/user')); +app.use("/session", require('../routes/session')); +app.use("/addon", require('../routes/addon')); +app.use("/release", require('../routes/release')); +app.use("/server", require('../routes/server')); + +// Register 404 route +app.use("*", (req, res) => { + res.status(404).json({message: "Route not found"}); +}); + +// Start the express server +module.exports.startServer = (port = 8352) => { + app.listen(port, () => log(`Listening to port ${port}`)); +} + +// Stop the express server +module.exports.stopServer = () => { + app.close(); + console.log("Closed the server"); +} + +// Log something in the express server +const log = (msg) => { + console.log(`[Backend] ${msg}`); +} + +module.exports.server = app; \ No newline at end of file