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