From 709aeb266554519b6bf9a8a20a1edeee0a64d173 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 29 Oct 2024 14:15:31 +0100
Subject: [PATCH] OZG-6720 CR Kommentare

---
 .../organisationseinheit-container.component.ts     |  2 +-
 .../organisationseinheit-list.component.html        |  2 +-
 .../organisationseinheit-list.component.spec.ts     | 13 +------------
 .../organisationseinheit-list.component.ts          | 12 +++---------
 .../src/lib/resource/resource.service.ts            |  4 ++--
 5 files changed, 8 insertions(+), 25 deletions(-)

diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
index fa7e4dcaa5..ca1097d757 100644
--- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
+++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
@@ -18,5 +18,5 @@ export class OrganisationsEinheitContainerComponent implements OnInit {
     this.organisationsEinheitListStateResource$ = this.organisationsEinheitService.getList();
   }
 
-  protected readonly organisationsEinheitListLinkRel = OrganisationsEinheitListLinkRel;
+  public readonly organisationsEinheitListLinkRel = OrganisationsEinheitListLinkRel;
 }
diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html
index 0887f0c89c..9d95617c21 100644
--- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html
+++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html
@@ -1,7 +1,7 @@
 <ods-list *ngIf="organisationsEinheitResources.length > 0" data-test-id="organisations-einheit-list">
   <ods-list-item
     *ngFor="let organisationsEinheitResource of organisationsEinheitResources"
-    [routerLink]="getEncodedSelfLink(organisationsEinheitResource)"
+    [routerLink]="organisationsEinheitResource | toResourceUri: OrganisationsEinheitLinkRel.SELF"
     [class.text-red-500]="
       organisationsEinheitResource.syncResult === AdminOrganisationsEinheitSyncResult.NOT_FOUND_IN_PVOG ||
       organisationsEinheitResource.syncResult === AdminOrganisationsEinheitSyncResult.ORGANISATIONSEINHEIT_ID_NOT_UNIQUE
diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts
index 3a7d848741..9a7b6e13c5 100644
--- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts
+++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts
@@ -10,7 +10,6 @@ import {
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatTooltipModule } from '@angular/material/tooltip';
 import { ActivatedRoute } from '@angular/router';
-import { ResourceUri } from '@ngxp/rest';
 import { ExclamationIconComponent, ListComponent, ListItemComponent } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockModule } from 'ng-mocks';
@@ -25,6 +24,7 @@ describe('OrganisationsEinheitListComponent', () => {
   const listItemSelector: string = getDataTestIdOf('organisations-einheit-list-item');
 
   const organisationsEinheitResource: AdminOrganisationsEinheitResource = createAdminOrganisationsEinheitResource();
+  organisationsEinheitResource.syncResult = AdminOrganisationsEinheitSyncResult.NOT_FOUND_IN_PVOG;
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -49,8 +49,6 @@ describe('OrganisationsEinheitListComponent', () => {
 
   describe('input', () => {
     describe('organisationsEinheitResources', () => {
-      organisationsEinheitResource.syncResult = AdminOrganisationsEinheitSyncResult.NOT_FOUND_IN_PVOG;
-
       let listItemElement: HTMLElement;
       let nameElement: Element;
       let idElement: Element;
@@ -108,15 +106,6 @@ describe('OrganisationsEinheitListComponent', () => {
         expect(component.organisationsEinheitResources[2].isChild).toBeTruthy();
       });
     });
-
-    describe('getEncodedSelfLink', () => {
-      it('should return encoded self link', () => {
-        const organisationsEinheitResource: AdminOrganisationsEinheitResource = createAdminOrganisationsEinheitResource();
-        const result: ResourceUri = component.getEncodedSelfLink(organisationsEinheitResource);
-
-        expect(result).toBeDefined();
-      });
-    });
   });
 
   describe('template', () => {
diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts
index 0c532ac004..390737c28a 100644
--- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts
+++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts
@@ -1,7 +1,5 @@
 import { AdminOrganisationsEinheitResource, AdminOrganisationsEinheitSyncResult } from '@admin-client/admin-settings';
-import { encodeUrlForEmbedding, toResourceUri } from '@alfa-client/tech-shared';
 import { Component, Input } from '@angular/core';
-import { ResourceUri } from '@ngxp/rest';
 import { OrganisationsEinheitLinkRel } from '../../organisations-einheit.linkrel';
 
 @Component({
@@ -20,10 +18,8 @@ export class OrganisationsEinheitListComponent {
     this.moveChildrenIntoParentLevel(list);
   }
 
-  public readonly AdminOrganisationsEinheitSyncResult = AdminOrganisationsEinheitSyncResult;
-
   moveChildrenIntoParentLevel(list: AdminOrganisationsEinheitResource[]): void {
-    list.forEach((parent) => {
+    list.forEach((parent: AdminOrganisationsEinheitResource) => {
       this._organisationsEinheitResources.push(parent);
 
       if (parent._embedded && Array.isArray(parent._embedded.childList)) {
@@ -35,8 +31,6 @@ export class OrganisationsEinheitListComponent {
     });
   }
 
-  getEncodedSelfLink(organisationsEinheitResource: AdminOrganisationsEinheitResource): ResourceUri {
-    const resourceUri: ResourceUri = toResourceUri(organisationsEinheitResource, OrganisationsEinheitLinkRel.SELF);
-    return encodeUrlForEmbedding(resourceUri);
-  }
+  public readonly AdminOrganisationsEinheitSyncResult = AdminOrganisationsEinheitSyncResult;
+  public readonly OrganisationsEinheitLinkRel = OrganisationsEinheitLinkRel;
 }
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts b/alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts
index 8b88355c61..a19ce64d7e 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts
@@ -120,11 +120,11 @@ export abstract class ResourceService<B extends Resource, T extends Resource> {
   }
 
   public save(toSave: unknown): Observable<StateResource<T>> {
-    return this.persist(this.doSave, toSave);
+    return this.persist(this.doSave.bind(this), toSave);
   }
 
   public patch(toPatch: unknown): Observable<StateResource<T>> {
-    return this.persist(this.doPatch, toPatch);
+    return this.persist(this.doPatch.bind(this), toPatch);
   }
 
   private persist(
-- 
GitLab