Added security policies to all endpoints and implemented file upload feature on posts

This commit is contained in:
Sven laptop
2026-07-24 23:25:31 +02:00
parent 9519a01ca0
commit 9e56f00c1e
19 changed files with 718 additions and 134 deletions
+30 -25
View File
@@ -1,40 +1,45 @@
const express = require('express');
const cors = require('cors');
const express = require("express");
const cors = require("cors");
const app = express();
const dotenv = require('dotenv');
require('dotenv').config();
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);
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());
// Data routes
const getDataRoute = require('./features/data/GET_data');
const postDataRoute = require('./features/data/POST_data');
const deleteDataRoute = require('./features/data/DELETE_data');
app.use('/get_data', getDataRoute);
app.use('/post_data', postDataRoute);
app.use('/delete_data', deleteDataRoute);
// People routes
const CreatePersonRoute = require('./features/people/REGISTER_people');
const LoginPersonRoute = require('./features/people/LOGIN_people');
const CreatePersonRoute = require("./features/people/REGISTER_people");
const LoginPersonRoute = require("./features/people/LOGIN_people");
app.use('/auth/register', CreatePersonRoute);
app.use('/auth/login', LoginPersonRoute);
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');
const CreateRelationRoute = require("./features/relations/CREATE_friendship");
app.use('/create_relationship', CreateRelationRoute)
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");
app.use("/posts", GetPostsRoute);
app.use("/posts/create", CreatePostRoute);
app.use("/posts/delete", DeletePostRoute);
app.use("/posts/edit", EditPostRoute);
app.listen(process.env.PORT, () => {
console.log(`Server draait op port ${process.env.PORT}`)
})
console.log(`Server draait op port ${process.env.PORT}`);
});