2024-08-22 11:40:31 +02:00
|
|
|
import express from "express";
|
2024-08-25 13:36:19 +02:00
|
|
|
import type { Express } from "express";
|
2024-08-22 11:40:31 +02:00
|
|
|
import cors from "cors";
|
|
|
|
|
2024-08-25 13:36:19 +02:00
|
|
|
import allowSetup from "../middleware/allowSetup";
|
2024-08-22 11:40:31 +02:00
|
|
|
import authenticate from "../middleware/authenticate";
|
2024-08-25 13:36:19 +02:00
|
|
|
import errorHandler from "../middleware/errorHandler";
|
2024-08-22 11:40:31 +02:00
|
|
|
|
2024-10-27 11:47:13 +01:00
|
|
|
import publicAvailable from "./public";
|
2024-08-25 13:36:19 +02:00
|
|
|
import setup from "./setup";
|
2024-11-23 14:25:31 +01:00
|
|
|
import invite from "./invite";
|
2024-11-23 12:11:19 +01:00
|
|
|
import reset from "./reset";
|
2024-08-22 11:40:31 +02:00
|
|
|
import auth from "./auth";
|
2024-09-01 14:55:05 +02:00
|
|
|
import admin from "./admin/index";
|
2024-11-20 09:32:43 +01:00
|
|
|
import user from "./user";
|
2025-01-11 14:45:37 +01:00
|
|
|
import detectPWA from "../middleware/detectPWA";
|
2025-01-22 09:39:31 +01:00
|
|
|
import api from "./webapi";
|
2025-01-22 09:27:15 +01:00
|
|
|
import authenticateAPI from "../middleware/authenticateAPI";
|
2025-01-23 11:21:54 +01:00
|
|
|
import server from "./server";
|
|
|
|
import PermissionHelper from "../helpers/permissionHelper";
|
2024-08-22 11:40:31 +02:00
|
|
|
|
|
|
|
export default (app: Express) => {
|
|
|
|
app.set("query parser", "extended");
|
|
|
|
app.use(express.json());
|
|
|
|
app.use(
|
|
|
|
express.urlencoded({
|
|
|
|
extended: true,
|
|
|
|
})
|
|
|
|
);
|
|
|
|
app.use(cors());
|
|
|
|
app.options("*", cors());
|
|
|
|
|
2025-01-11 14:45:37 +01:00
|
|
|
app.use(detectPWA);
|
2024-11-27 17:06:41 +01:00
|
|
|
app.use("/api/public", publicAvailable);
|
|
|
|
app.use("/api/setup", allowSetup, setup);
|
|
|
|
app.use("/api/reset", reset);
|
|
|
|
app.use("/api/invite", invite);
|
|
|
|
app.use("/api/auth", auth);
|
2025-01-22 09:27:15 +01:00
|
|
|
app.use("/api/webapi", authenticateAPI, api);
|
2024-08-22 11:40:31 +02:00
|
|
|
app.use(authenticate);
|
2024-11-27 17:06:41 +01:00
|
|
|
app.use("/api/admin", admin);
|
|
|
|
app.use("/api/user", user);
|
2025-01-23 11:21:54 +01:00
|
|
|
app.use("/api/server", PermissionHelper.isAdminMiddleware(), server);
|
2024-08-22 11:40:31 +02:00
|
|
|
app.use(errorHandler);
|
|
|
|
};
|