From fe5ac307ef48e643a75a8fb54d25d49d326ff400 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 7 Sep 2023 08:33:45 +0200
Subject: [PATCH] OZG-3961 move keep_after_delete to keycloak user stage

---
 .../operator/keycloak/user/KeycloakUserReconciler.java    | 8 +++++---
 .../operator/keycloak/user/OzgKeycloakUserSpec.java       | 5 ++++-
 .../keycloak/user/KeycloakUserReconcilerTest.java         | 4 +++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
index 7236835..ec462ec 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
@@ -50,7 +50,8 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea
 
 	@Override
 	public UpdateControl<OzgKeycloakUser> reconcile(OzgKeycloakUser resource, Context<OzgKeycloakUser> context) {
-		log.info("User reconciler reconcile, keep after delete is set to: " + resource.getSpec().isKeepAfterDelete());
+		log.info("User reconciler reconcile, keep after delete is set to: " + resource.getSpec().getKeycloakUser().isKeepAfterDelete());
+		log.info("Keep after delete String is set to: " + resource.getSpec().getKeepAfterDelete());
 		var userName = resource.getMetadata().getName();
 		var namespace = resource.getMetadata().getNamespace();
 
@@ -89,8 +90,9 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea
 
 	@Override
 	public DeleteControl cleanup(OzgKeycloakUser user, Context<OzgKeycloakUser> context) {
-		log.info("User reconciler cleanup, keep after delete is set to: " + user.getSpec().isKeepAfterDelete());
-		if (user.getSpec().isKeepAfterDelete()) {
+		log.info("User reconciler cleanup, keep after delete is set to: " + user.getSpec().getKeycloakUser().isKeepAfterDelete());
+		log.info("Keep after delete String is set to: " + user.getSpec().getKeepAfterDelete());
+		if (user.getSpec().getKeycloakUser().isKeepAfterDelete()) {
 			return DeleteControl.defaultDelete();
 		}
 		return cleanup(user);
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
index 6772217..06d67ca 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
@@ -46,7 +46,7 @@ import lombok.Setter;
 class OzgKeycloakUserSpec {
 
 	@JsonProperty("keep_after_delete")
-	private boolean keepAfterDelete;
+	private String keepAfterDelete;
 
 	@JsonProperty("keycloak_user")
 	private KeycloakUserSpecUser keycloakUser;
@@ -58,6 +58,9 @@ class OzgKeycloakUserSpec {
 	@AllArgsConstructor
 	static class KeycloakUserSpecUser {
 
+		@JsonProperty("keep_after_delete")
+		private boolean keepAfterDelete;
+
 		@JsonProperty("username")
 		private String username;
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
index 349a10e..2e14501 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
@@ -39,6 +39,7 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.operator.keycloak.OzgCustomResourceStatus;
+import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
 import io.javaoperatorsdk.operator.api.reconciler.DeleteControl;
 
 class KeycloakUserReconcilerTest {
@@ -119,7 +120,8 @@ class KeycloakUserReconcilerTest {
 		@Nested
 		class TestWithKeepAfterDelete {
 
-			private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keepAfterDelete(true).build();
+			private final KeycloakUserSpecUser keycloakUser = KeycloakUserSpecUserTestFactory.createBuiler().keepAfterDelete(true).build();
+			private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keycloakUser(keycloakUser).build();
 			private final OzgKeycloakUser user = OzgKeycloakUserTestFactory.create(userSpec);
 
 			@Test
-- 
GitLab