sub-manager-backend/server.mjs

35 lines
839 B
JavaScript
Raw Normal View History

2024-06-10 09:50:46 +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";
2024-06-10 09:50:46 +00:00
import passport from "passport";
import "./auth/auth.mjs";
2023-09-06 16:55:43 +00:00
import { Data } from "./objects/Data.mjs";
import { db } from "./db.mjs";
2023-09-11 10:04:09 +00:00
import { getEndpoints, postEndpoints } from "./objects/Endpoints.mjs";
2024-06-10 09:50:46 +00:00
import cors from "cors";
2023-09-06 16:26:15 +00:00
2024-06-10 09:50:46 +00:00
const app = express();
app.use(passport.initialize());
const port = 4000;
app.use(cors());
app.use(pinoHTTP({ logger }));
app.use(bodyParser.json());
2023-09-06 16:26:15 +00:00
2024-06-10 09:50:46 +00:00
const data = new Data(db);
await data.init();
2023-09-06 16:26:15 +00:00
2024-06-10 09:50:46 +00:00
app.use("/api", getEndpoints(data));
app.use(
"/api",
passport.authenticate("jwt", { session: false }),
postEndpoints(db, data),
);
2023-09-06 16:26:15 +00:00
app.listen(port, (err) => {
2024-06-10 09:50:46 +00:00
if (err) logger.error(err);
logger.info("Server listening on PORT " + port);
});
2023-09-06 16:26:15 +00:00
2024-06-10 09:50:46 +00:00
export default app;