import express from "express"; import pinoHTTP from "pino-http"; import logger from "./logger.mjs"; import bodyParser from "body-parser"; import { Data } from "./objects/Data.mjs"; import { db } from "./db.mjs"; import { getEndpoints, protectedEndpoints } from "./objects/Endpoints.mjs"; import cors from "cors"; import helmet from "helmet"; import passport from "passport"; const app = express(); const port = 4000; app.use(cors()); app.use(pinoHTTP({ logger })); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(helmet()); app.use(passport.initialize()); const data = new Data(db); await data.init(); app.use("/api", getEndpoints(data)); app.use("/api", protectedEndpoints(db, data)); app.listen(port, (err) => { if (err) logger.error(err); logger.info("Server listening on PORT " + port); }); export default app;