import express from "express"; import { app } from "./app"; import { config } from "./config"; import * as ConfigResource from "./resources/configResource"; import * as VersionResource from "./resources/versionResource"; import * as StatisticsResource from "./resources/statisticsResource"; import * as FrontendResource from "./resources/frontendResource"; import * as NodeResource from "./resources/nodeResource"; import * as MonitoringResource from "./resources/monitoringResource"; import * as TaskResource from "./resources/taskResource"; import * as MailResource from "./resources/mailResource"; export function init(): void { const router = express.Router(); router.post("/", FrontendResource.render); router.get("/api/config", ConfigResource.get); router.get("/api/version", VersionResource.get); router.post("/api/node", NodeResource.create); router.put("/api/node/:token", NodeResource.update); router.delete("/api/node/:token", NodeResource.remove); router.get("/api/node/:token", NodeResource.get); router.put("/api/monitoring/confirm/:token", MonitoringResource.confirm); router.put("/api/monitoring/disable/:token", MonitoringResource.disable); router.get("/internal/api/statistics", StatisticsResource.get); router.get("/internal/api/tasks", TaskResource.getAll); router.put("/internal/api/tasks/run/:id", TaskResource.run); router.put("/internal/api/tasks/enable/:id", TaskResource.enable); router.put("/internal/api/tasks/disable/:id", TaskResource.disable); router.get("/internal/api/monitoring", MonitoringResource.getAll); router.get("/internal/api/mails", MailResource.getAll); router.get("/internal/api/mails/:id", MailResource.get); router.delete("/internal/api/mails/:id", MailResource.remove); router.put("/internal/api/mails/reset/:id", MailResource.resetFailures); router.put("/internal/api/nodes/:token", NodeResource.update); router.delete("/internal/api/nodes/:token", NodeResource.remove); router.get("/internal/api/nodes", NodeResource.getAll); router.get("/internal/api/nodes/:token", NodeResource.get); app.use(config.server.rootPath, router); }