From a11f2f07185df2533e39d69b3455210a66798f1d Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 8 Jul 2025 22:20:00 +0200 Subject: [PATCH] preparing document module --- backend/build.gradle.kts | 1 + .../umbrella/backend/Application.java | 3 +- .../umbrella/core/model/EmailAddress.java | 5 ++-- documents/build.gradle.kts | 5 ++++ .../umbrella/documents/Constants.java | 8 +++++ .../umbrella/documents/DocumentApi.java | 26 +++++++++++++++++ frontend/src/App.svelte | 7 ++++- frontend/src/Components/Menu.svelte | 1 + frontend/src/routes/document/List.svelte | 29 +++++++++++++++++++ .../umbrella/message/MessageSystem.java | 1 - .../message/model/CombinedMessage.java | 2 -- settings.gradle.kts | 2 ++ 12 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 documents/build.gradle.kts create mode 100644 documents/src/main/java/de/srsoftware/umbrella/documents/Constants.java create mode 100644 documents/src/main/java/de/srsoftware/umbrella/documents/DocumentApi.java create mode 100644 frontend/src/routes/document/List.svelte diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 52459bd..49a0b57 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -13,6 +13,7 @@ application{ dependencies{ implementation(project(":core")) + implementation(project(":documents")) implementation(project(":legacy")) implementation(project(":messages")) implementation(project(":translations")) diff --git a/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java b/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java index 613cd0b..8f2c933 100644 --- a/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java +++ b/backend/src/main/java/de/srsoftware/umbrella/backend/Application.java @@ -10,6 +10,7 @@ import de.srsoftware.configuration.JsonConfig; import de.srsoftware.tools.ColorLogger; import de.srsoftware.umbrella.core.ConnectionProvider; import de.srsoftware.umbrella.core.UmbrellaException; +import de.srsoftware.umbrella.documents.DocumentApi; import de.srsoftware.umbrella.legacy.LegacyApi; import de.srsoftware.umbrella.message.MessageApi; import de.srsoftware.umbrella.message.MessageSystem; @@ -59,8 +60,8 @@ public class Application { var server = HttpServer.create(new InetSocketAddress(port), 0); server.setExecutor(Executors.newFixedThreadPool(threads)); - new LegacyApi(userDb,config).bindPath("/legacy").on(server); + new DocumentApi().bindPath("/api/document").on(server); new MessageApi(messageSystem).bindPath("/api/messages").on(server); translationModule.bindPath("/api/translations").on(server); new UserModule(userDb,loginServiceDb,messageSystem).bindPath("/api/user").on(server); diff --git a/core/src/main/java/de/srsoftware/umbrella/core/model/EmailAddress.java b/core/src/main/java/de/srsoftware/umbrella/core/model/EmailAddress.java index 10451de..665e67f 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/model/EmailAddress.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/model/EmailAddress.java @@ -1,11 +1,10 @@ /* © SRSoftware 2025 */ package de.srsoftware.umbrella.core.model; -import de.srsoftware.umbrella.core.UmbrellaException; - import static de.srsoftware.tools.Optionals.allSet; import static java.net.HttpURLConnection.HTTP_BAD_REQUEST; -import static java.text.MessageFormat.format; + +import de.srsoftware.umbrella.core.UmbrellaException; public class EmailAddress { private final String email; diff --git a/documents/build.gradle.kts b/documents/build.gradle.kts new file mode 100644 index 0000000..b483152 --- /dev/null +++ b/documents/build.gradle.kts @@ -0,0 +1,5 @@ +description = "Umbrella : Documents" + +dependencies{ + implementation(project(":core")) +} \ No newline at end of file diff --git a/documents/src/main/java/de/srsoftware/umbrella/documents/Constants.java b/documents/src/main/java/de/srsoftware/umbrella/documents/Constants.java new file mode 100644 index 0000000..0726f11 --- /dev/null +++ b/documents/src/main/java/de/srsoftware/umbrella/documents/Constants.java @@ -0,0 +1,8 @@ +/* © SRSoftware 2025 */ +package de.srsoftware.umbrella.documents; + +public class Constants { + private Constants(){} + + public static final String COMPANIES = "companies"; +} diff --git a/documents/src/main/java/de/srsoftware/umbrella/documents/DocumentApi.java b/documents/src/main/java/de/srsoftware/umbrella/documents/DocumentApi.java new file mode 100644 index 0000000..71f72c6 --- /dev/null +++ b/documents/src/main/java/de/srsoftware/umbrella/documents/DocumentApi.java @@ -0,0 +1,26 @@ +/* © SRSoftware 2025 */ +package de.srsoftware.umbrella.documents; + +import static de.srsoftware.umbrella.core.ResponseCode.HTTP_NOT_IMPLEMENTED; +import static de.srsoftware.umbrella.documents.Constants.COMPANIES; + +import com.sun.net.httpserver.HttpExchange; +import de.srsoftware.tools.Path; +import de.srsoftware.umbrella.core.BaseHandler; +import java.io.IOException; + +public class DocumentApi extends BaseHandler { + @Override + public boolean doGet(Path path, HttpExchange ex) throws IOException { + addCors(ex); + var head = path.pop(); + return switch (head){ + case COMPANIES -> getCompanies(ex); + case null, default -> super.doGet(path,ex); + }; + } + + private boolean getCompanies(HttpExchange ex) throws IOException { + return sendEmptyResponse(HTTP_NOT_IMPLEMENTED,ex); + } +} diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index e181c3e..1158695 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -4,6 +4,7 @@ import { user } from './user.svelte.js'; import { Router, Route } from 'svelte-tiny-router'; import Callback from "./routes/user/OidcCallback.svelte"; + import DocList from "./routes/document/List.svelte"; import EditService from "./routes/user/EditService.svelte"; import EditUser from "./routes/user/EditUser.svelte"; import Footer from "./Components/Footer.svelte"; @@ -34,6 +35,8 @@ {#if user.name } + + @@ -42,7 +45,9 @@ - + + Not found! + {:else} diff --git a/frontend/src/Components/Menu.svelte b/frontend/src/Components/Menu.svelte index 248b6ee..95c5db8 100644 --- a/frontend/src/Components/Menu.svelte +++ b/frontend/src/Components/Menu.svelte @@ -30,6 +30,7 @@ onMount(fetchModules);