From 332c6f9bbc096eda05fa787984d440811651ea6a Mon Sep 17 00:00:00 2001
From: Albert <Albert.Bruns@mgm-tp.com>
Date: Wed, 19 Feb 2025 16:49:13 +0100
Subject: [PATCH] OZG-7472-7772 add organisationsEinheitId

---
 .../src/lib/organisations-einheit.repository.spec.ts         | 2 ++
 .../src/lib/organisations-einheit.repository.ts              | 1 +
 .../src/lib/organisations-einheit.model.ts                   | 1 +
 .../src/test/organisations-einheit.ts                        | 3 +++
 .../organisations-einheit-container.component.spec.ts        | 5 ++++-
 .../organisations-einheit-container.component.ts             | 3 +++
 .../lib/organisations-einheit/organisations-einheit.model.ts | 1 +
 .../zustaendige-stelle-shared/test/organisations-einheit.ts  | 1 +
 8 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.spec.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.spec.ts
index 043e5c2e05..43bc3d3856 100644
--- a/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.spec.ts
+++ b/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.spec.ts
@@ -39,6 +39,7 @@ describe('AdminOrganisationsEinheitRepository', () => {
         (group: GroupRepresentation): AdminOrganisationsEinheit => ({
           name: group.name,
           id: group.id,
+          attributes: group.attributes,
         }),
       );
 
@@ -63,6 +64,7 @@ describe('AdminOrganisationsEinheitRepository', () => {
     const organisationsEinheit: AdminOrganisationsEinheit = {
       name: groupRep.name,
       id: groupRep.id,
+      attributes: groupRep.attributes,
     };
 
     beforeEach(() => {
diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.ts
index 5dc1b0ee3b..c2d454434e 100644
--- a/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.ts
+++ b/alfa-client/libs/admin/keycloak-shared/src/lib/organisations-einheit.repository.ts
@@ -40,6 +40,7 @@ export class AdminOrganisationsEinheitRepository {
     return {
       id: group.id,
       name: group.name,
+      attributes: group.attributes,
     };
   }
 }
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/src/lib/organisations-einheit.model.ts b/alfa-client/libs/admin/organisations-einheit-shared/src/lib/organisations-einheit.model.ts
index 8a4b105a94..3a93c42e6b 100644
--- a/alfa-client/libs/admin/organisations-einheit-shared/src/lib/organisations-einheit.model.ts
+++ b/alfa-client/libs/admin/organisations-einheit-shared/src/lib/organisations-einheit.model.ts
@@ -24,4 +24,5 @@
 export interface AdminOrganisationsEinheit {
   id?: string;
   name: string;
+  attributes: { [key: string]: string[] };
 }
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/src/test/organisations-einheit.ts b/alfa-client/libs/admin/organisations-einheit-shared/src/test/organisations-einheit.ts
index 6bb1baad30..aac833df1f 100644
--- a/alfa-client/libs/admin/organisations-einheit-shared/src/test/organisations-einheit.ts
+++ b/alfa-client/libs/admin/organisations-einheit-shared/src/test/organisations-einheit.ts
@@ -29,6 +29,9 @@ export function createAdminOrganisationsEinheit(): AdminOrganisationsEinheit {
   return {
     id: faker.string.uuid(),
     name: faker.lorem.word(),
+    attributes: {
+      organisationseinheitId: [faker.string.uuid()],
+    },
   };
 }
 
diff --git a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
index 562b00dafa..2f207e5573 100644
--- a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
@@ -152,7 +152,10 @@ describe('OrganisationsEinheitContainerComponent', () => {
       it('should call organisationsEinheitService create', () => {
         component.handleDialogResponse(organisationsEinheitResource);
 
-        expect(organisationsEinheitService.create).toHaveBeenCalledWith({ name: organisationsEinheitResource.name });
+        expect(organisationsEinheitService.create).toHaveBeenCalledWith({
+          name: organisationsEinheitResource.name,
+          attributes: { organisationseinheitId: [organisationsEinheitResource.organisationEinheitId] },
+        });
       });
 
       it('should set createOrganisationsEinheitProgress$', () => {
diff --git a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
index e12a8a85f7..31e3a25fa7 100644
--- a/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
@@ -80,6 +80,9 @@ export class OrganisationsEinheitContainerComponent implements OnInit, OnDestroy
   mapToAdminOrganisationsEinheit(organisationsEinheitResource: OrganisationsEinheitResource): AdminOrganisationsEinheit {
     return {
       name: organisationsEinheitResource.name,
+      attributes: {
+        organisationseinheitId: [organisationsEinheitResource.organisationEinheitId],
+      },
     };
   }
 }
diff --git a/alfa-client/libs/zustaendige-stelle-shared/src/lib/organisations-einheit/organisations-einheit.model.ts b/alfa-client/libs/zustaendige-stelle-shared/src/lib/organisations-einheit/organisations-einheit.model.ts
index a802fe79f8..2658c1475c 100644
--- a/alfa-client/libs/zustaendige-stelle-shared/src/lib/organisations-einheit/organisations-einheit.model.ts
+++ b/alfa-client/libs/zustaendige-stelle-shared/src/lib/organisations-einheit/organisations-einheit.model.ts
@@ -27,6 +27,7 @@ import { Resource } from '@ngxp/rest';
 export interface OrganisationsEinheit {
   name: string;
   anschrift: Anschrift;
+  organisationEinheitId: string;
 }
 
 export interface Anschrift {
diff --git a/alfa-client/libs/zustaendige-stelle-shared/test/organisations-einheit.ts b/alfa-client/libs/zustaendige-stelle-shared/test/organisations-einheit.ts
index 2257be0896..d4aa69a51a 100644
--- a/alfa-client/libs/zustaendige-stelle-shared/test/organisations-einheit.ts
+++ b/alfa-client/libs/zustaendige-stelle-shared/test/organisations-einheit.ts
@@ -45,6 +45,7 @@ export function createOrganisationsEinheit(): OrganisationsEinheit {
   return {
     name: faker.word.sample(),
     anschrift: createAnschrift(),
+    organisationEinheitId: faker.string.uuid(),
   };
 }
 
-- 
GitLab