From c0b393a85bae70aa72ce24baeacf6923d71f05e3 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 8 Jul 2025 23:17:36 +0200 Subject: [PATCH] added UserHelper interface to allow dependency injection Signed-off-by: Stephan Richter --- .../de/srsoftware/umbrella/core/api/UserHelper.java | 11 +++++++++++ .../java/de/srsoftware/umbrella/user/UserModule.java | 5 +++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 core/src/main/java/de/srsoftware/umbrella/core/api/UserHelper.java diff --git a/core/src/main/java/de/srsoftware/umbrella/core/api/UserHelper.java b/core/src/main/java/de/srsoftware/umbrella/core/api/UserHelper.java new file mode 100644 index 0000000..3dc2d76 --- /dev/null +++ b/core/src/main/java/de/srsoftware/umbrella/core/api/UserHelper.java @@ -0,0 +1,11 @@ +package de.srsoftware.umbrella.core.api; + +import com.sun.net.httpserver.HttpExchange; +import de.srsoftware.umbrella.core.UmbrellaException; +import de.srsoftware.umbrella.core.model.UmbrellaUser; + +import java.util.Optional; + +public interface UserHelper { + Optional loadUser(HttpExchange ex) throws UmbrellaException; +} diff --git a/user/src/main/java/de/srsoftware/umbrella/user/UserModule.java b/user/src/main/java/de/srsoftware/umbrella/user/UserModule.java index f553e10..92290bc 100644 --- a/user/src/main/java/de/srsoftware/umbrella/user/UserModule.java +++ b/user/src/main/java/de/srsoftware/umbrella/user/UserModule.java @@ -29,6 +29,7 @@ import de.srsoftware.tools.SessionToken; import de.srsoftware.umbrella.core.BaseHandler; import de.srsoftware.umbrella.core.Token; import de.srsoftware.umbrella.core.UmbrellaException; +import de.srsoftware.umbrella.core.api.UserHelper; import de.srsoftware.umbrella.core.model.EmailAddress; import de.srsoftware.umbrella.core.model.UmbrellaUser; import de.srsoftware.umbrella.message.MessageSystem; @@ -52,7 +53,7 @@ import org.jose4j.keys.resolvers.HttpsJwksVerificationKeyResolver; import org.json.JSONObject; -public class UserModule extends BaseHandler { +public class UserModule extends BaseHandler implements UserHelper { private record State(LoginService loginService, JSONObject config){ @@ -132,7 +133,7 @@ public class UserModule extends BaseHandler { } - private Optional loadUser(HttpExchange ex) throws UmbrellaException { + public Optional loadUser(HttpExchange ex) throws UmbrellaException { return loadUser(SessionToken.from(ex).map(Token::of)); }