From c54ab4aa0e5671523bf2741831eb1e5f744f47e6 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 5 Dec 2024 11:18:21 +0100
Subject: [PATCH] OZG-6989 OZG-7215 Archiving-flag in VorgangHeader

---
 .../clientattribute/ClientAttribute.java      |  3 ++-
 .../common/clientattribute/ClientName.java    |  3 ++-
 .../ozgcloud/alfa/vorgang/VorgangHeader.java  |  2 ++
 .../alfa/vorgang/VorgangHeaderMapper.java     |  1 +
 .../alfa/vorgang/VorgangHeaderMapperTest.java | 22 +++++++++++++++++++
 5 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientAttribute.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientAttribute.java
index 2d3e78f89f..2bc2adb8c8 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientAttribute.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientAttribute.java
@@ -10,7 +10,8 @@ public enum ClientAttribute {
 	WIEDERVORLAGE_NEXT_FRIST("nextWiedervorlageFrist", ClientName.ALFA),
 	HAS_POSTFACH_NACHRICHT("hasPostfachNachricht", ClientName.NACHRICHTEN_MANAGER),
 	HAS_NEW_POSTFACH_NACHRICHT("hasNewPostfachNachricht", ClientName.NACHRICHTEN_MANAGER),
-	ANTRAG_BEWILLIGT("antragBewilligt", ClientName.BESCHEID_MANAGER);
+	ANTRAG_BEWILLIGT("antragBewilligt", ClientName.BESCHEID_MANAGER),
+	ARCHIVING("ARCHIVING", ClientName.ARCHIVE_MANAGER);
 
 	private final String attributeName;
 	private final ClientName clientName;
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientName.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientName.java
index 33b4cd6bf4..51ab8829b4 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientName.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/clientattribute/ClientName.java
@@ -6,7 +6,8 @@ import lombok.RequiredArgsConstructor;
 public enum ClientName {
 	ALFA("Alfa"),
 	NACHRICHTEN_MANAGER("OzgCloud_NachrichtenManager"),
-	BESCHEID_MANAGER("OzgCloud_BescheidManager");
+	BESCHEID_MANAGER("OzgCloud_BescheidManager"),
+	ARCHIVE_MANAGER("OzgCloud_ArchiveManager");
 
 	private final String text;
 
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeader.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeader.java
index 5140891d53..4cb67d35df 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeader.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeader.java
@@ -63,4 +63,6 @@ class VorgangHeader implements Vorgang {
 	private boolean hasNewPostfachNachricht;
 
 	private Boolean antragBewilligt;
+
+	private boolean archiving;
 }
diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapper.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapper.java
index fc0528d16b..f27255ca3f 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapper.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapper.java
@@ -45,6 +45,7 @@ interface VorgangHeaderMapper {
 	@Mapping(target = "antragBewilligt", source = "clientAttributesList")
 	@Mapping(target = "hasPostfachNachricht", expression = "java(mapBoolClientAttribute(vorgangHeader.getClientAttributesList(), ClientAttribute.HAS_POSTFACH_NACHRICHT))")
 	@Mapping(target = "hasNewPostfachNachricht", expression = "java(mapBoolClientAttribute(vorgangHeader.getClientAttributesList(), ClientAttribute.HAS_NEW_POSTFACH_NACHRICHT))")
+	@Mapping(target = "archiving", expression = "java(mapBoolClientAttribute(vorgangHeader.getClientAttributesList(), ClientAttribute.ARCHIVING))")
 	VorgangHeader toVorgangHeader(GrpcVorgangHeader vorgangHeader);
 
 	default LocalDate mapNextFrist(List<GrpcClientAttribute> clientAttributes) {
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapperTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapperTest.java
index c0d328e8de..4ad7c27476 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapperTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangHeaderMapperTest.java
@@ -235,4 +235,26 @@ class VorgangHeaderMapperTest {
 			return mapper.toVorgangHeader(GrpcVorgangHeaderTestFactory.create());
 		}
 	}
+
+	@Nested
+	class TestArchiving {
+
+		@Test
+		void shouldBeFalseIfClientAttributeIsMissing() {
+			var header = mapper.toVorgangHeader(GrpcVorgangHeaderTestFactory.create());
+
+			assertThat(header.isArchiving()).isFalse();
+		}
+
+		@ParameterizedTest
+		@ValueSource(booleans = { true, false })
+		void shouldBeValueOfClientAttribute(boolean value) {
+			var clientAttribute = GrpcClientAttributeTestFactory.createWith(ClientAttribute.ARCHIVING, value);
+			var vorgangHeader = GrpcVorgangHeaderTestFactory.createBuilder().addClientAttributes(clientAttribute).build();
+
+			var mapped = mapper.toVorgangHeader(vorgangHeader);
+
+			assertThat(mapped.isArchiving()).isEqualTo(value);
+		}
+	}
 }
-- 
GitLab