From 8e8b3f6a6e79dd38d958abc86e0e0f4ec1437b74 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 31 Aug 2023 12:31:51 +0200
Subject: [PATCH] OZG-3961 add realmRoles to user

---
 .../keycloak/user/OzgKeycloakUserSpec.java    | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

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 f90318d..bb1863f 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
@@ -24,7 +24,9 @@
 package de.ozgcloud.operator.keycloak.user;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -81,6 +83,10 @@ class OzgKeycloakUserSpec {
 		@Builder.Default
 		private List<KeycloakUserSpecClientRole> clientRoles = new ArrayList<>();
 
+		@JsonProperty("realm_roles")
+		@Builder.Default
+		private List<KeycloakUserSpecRealmRole> realmRoles = new ArrayList<>();
+
 		@JsonSetter(nulls = Nulls.AS_EMPTY)
 		public void setGroups(List<KeycloakUserSpecUserGroup> groups) {
 			this.groups = groups;
@@ -116,4 +122,19 @@ class OzgKeycloakUserSpec {
 		@JsonProperty("role")
 		private String roleName;
 	}
+
+	@Setter
+	@NoArgsConstructor
+	@AllArgsConstructor
+	static class KeycloakUserSpecRealmRole {
+
+		@JsonProperty("name")
+		private String name;
+
+		@JsonProperty("description")
+		private String description;
+
+		@JsonProperty("attributes")
+		private Map<String, List<String>> attributes = new HashMap<>();
+	}
 }
-- 
GitLab