From e7cfac2175fb74aef1ff66c5f814688e4e524136 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Sat, 21 Sep 2024 09:38:25 +0200
Subject: [PATCH] OZG-3539 OZG-6749 add new user settings

---
 .../ozgcloud/user/settings/UserSettings.java  | 19 +++++++++++--
 .../user/settings/UserSettingsTest.java       | 27 +++++++++++++++++++
 2 files changed, 44 insertions(+), 2 deletions(-)
 create mode 100644 user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTest.java

diff --git a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettings.java b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettings.java
index 08fd9756..98750779 100644
--- a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettings.java
+++ b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettings.java
@@ -23,14 +23,12 @@
  */
 package de.ozgcloud.user.settings;
 
-import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 @Builder(toBuilder = true)
-@AllArgsConstructor
 @NoArgsConstructor
 @Getter
 @Setter
@@ -39,4 +37,21 @@ public class UserSettings {
 	static final String NOTIFICATIONS_SEND_FOR_FIELD = "notificationsSendFor";
 
 	private NotificationsSendFor notificationsSendFor;
+	private boolean vorgangCreated;
+	private boolean vorgangAssignedToUser;
+	private boolean postfachNachrichtFromAntragsteller;
+	private boolean wiedervorlageOverdue;
+
+	public UserSettings(final NotificationsSendFor notificationsSendFor, final boolean vorgangCreated, final boolean vorgangAssignedToUser,
+			final boolean postfachNachrichtFromAntragsteller, final boolean wiedervorlageOverdue) {
+		this.notificationsSendFor = notificationsSendFor;
+		this.vorgangCreated = vorgangCreated;
+		this.vorgangAssignedToUser = vorgangAssignedToUser;
+		this.postfachNachrichtFromAntragsteller = postfachNachrichtFromAntragsteller;
+		this.wiedervorlageOverdue = wiedervorlageOverdue;
+	}
+
+	public UserSettings(final NotificationsSendFor notificationsSendFor) {
+		this(notificationsSendFor, notificationsSendFor == NotificationsSendFor.ALL, true, true, true);
+	}
 }
diff --git a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTest.java b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTest.java
new file mode 100644
index 00000000..79462f46
--- /dev/null
+++ b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTest.java
@@ -0,0 +1,27 @@
+package de.ozgcloud.user.settings;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+class UserSettingsTest {
+
+	@Nested
+	class TestConstructor {
+		@Test
+		void shouldCreateWithVorgangCreatedSet() {
+			var userSettings = new UserSettings(NotificationsSendFor.ALL);
+
+			assertThat(userSettings.isVorgangCreated()).isTrue();
+		}
+
+		@Test
+		void shouldCreateWithVorgangCreatedUnset() {
+			var userSettings = new UserSettings(NotificationsSendFor.NONE);
+
+			assertThat(userSettings.isVorgangCreated()).isFalse();
+		}
+	}
+
+}
\ No newline at end of file
-- 
GitLab