sub-manager-backend/server.mjs

35 lines
867 B
JavaScript
Raw Normal View History

2024-05-23 10:55:11 +00:00
import express from "express";
import pinoHTTP from "pino-http";
2023-09-06 16:55:43 +00:00
import logger from "./logger.mjs";
import bodyParser from "body-parser";
import { Data } from "./objects/Data.mjs";
import { db } from "./db.mjs";
2024-05-27 14:12:44 +00:00
import { getEndpoints, protectedEndpoints } from "./objects/Endpoints.mjs";
2024-05-23 10:55:11 +00:00
import cors from "cors";
2024-05-27 13:05:40 +00:00
import helmet from "helmet";
import passport from "passport";
2023-09-06 16:26:15 +00:00
2024-05-23 10:55:11 +00:00
const app = express();
const port = 4000;
2024-05-27 13:05:40 +00:00
2024-05-23 10:55:11 +00:00
app.use(cors());
app.use(pinoHTTP({ logger }));
app.use(bodyParser.json());
2023-09-06 16:55:43 +00:00
2024-05-27 13:05:40 +00:00
app.use(bodyParser.urlencoded({ extended: false }));
app.use(helmet());
app.use(passport.initialize());
2023-09-06 16:26:15 +00:00
2024-05-23 10:55:11 +00:00
const data = new Data(db);
await data.init();
2023-09-06 16:26:15 +00:00
2024-05-23 10:55:11 +00:00
app.use("/api", getEndpoints(data));
2024-05-27 14:12:44 +00:00
app.use("/api", protectedEndpoints(db, data));
2023-09-06 16:26:15 +00:00
app.listen(port, (err) => {
2024-05-23 10:55:11 +00:00
if (err) logger.error(err);
logger.info("Server listening on PORT " + port);
});
export default app;