const express = require("express"); const cors = require("cors"); const app = express(); const dotenv = require("dotenv"); const { authenticateToken } = require("./middleware/authenticate_token"); require("dotenv").config(); const allowedOrigins = (process.env.CORS_ALLOWED_ORIGINS || "") .split(",") .map((origin) => origin.trim()) .filter(Boolean); // Apply configured CORS origins to every endpoint, including preflight requests. app.use(cors({ origin: allowedOrigins })); app.use(express.json()); // People routes const CreatePersonRoute = require("./features/people/REGISTER_people"); const LoginPersonRoute = require("./features/people/LOGIN_people"); app.use("/auth/register", CreatePersonRoute); app.use("/auth/login", LoginPersonRoute); // Every route below this point requires a valid JWT. Registration and login stay public. app.use(authenticateToken); // Relation routes const CreateRelationRoute = require("./features/relations/CREATE_friendship"); app.use("/create_relationship", CreateRelationRoute); // Post routes const CreatePostRoute = require("./features/posts/CREATE_post"); const DeletePostRoute = require("./features/posts/DELETE_post"); const GetPostsRoute = require("./features/posts/GET_posts"); const EditPostRoute = require("./features/posts/EDIT_post"); const GetProfileRoute = require("./features/people/GET_profile"); app.use("/posts", GetPostsRoute); app.use("/posts/create", CreatePostRoute); app.use("/posts/delete", DeletePostRoute); app.use("/posts/edit", EditPostRoute); app.use("/profiles", GetProfileRoute); app.listen(process.env.PORT, () => { console.log(`Server draait op port ${process.env.PORT}`); });