sub-manager-backend/server.mjs

35 lines
839 B
JavaScript

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;