From 25a1a67688bace154bb17dba31c8ca430d98bc80 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 21 Nov 2022 10:28:22 +0100 Subject: [PATCH] OZG-2966 OZG-3171 adjust handle errorResponse, changed somehow; adjust BE --- .../src/lib/+state/binary-file.effects.ts | 3 +-- .../src/lib/interceptor/http-binary-file.interceptor.ts | 7 +++---- .../libs/user-profile-shared/src/lib/user-profile.util.ts | 4 ++-- .../de/itvsh/goofy/common/user/UserManagerProperties.java | 7 +------ .../de/itvsh/goofy/common/user/UserManagerUrlProvider.java | 2 +- .../java/de/itvsh/goofy/common/user/UserRemoteService.java | 3 ++- .../de/itvsh/goofy/common/user/UserRemoteServiceTest.java | 4 ++-- .../de/itvsh/goofy/vorgang/VorgangControllerITCase.java | 2 +- 8 files changed, 13 insertions(+), 19 deletions(-) diff --git a/goofy-client/libs/binary-file-shared/src/lib/+state/binary-file.effects.ts b/goofy-client/libs/binary-file-shared/src/lib/+state/binary-file.effects.ts index 0f34f51819..253532c5d7 100644 --- a/goofy-client/libs/binary-file-shared/src/lib/+state/binary-file.effects.ts +++ b/goofy-client/libs/binary-file-shared/src/lib/+state/binary-file.effects.ts @@ -22,7 +22,6 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { Injectable } from '@angular/core'; -import { getApiErrorFromHttpErrorResponse } from '@goofy-client/tech-shared'; import { Actions, createEffect, ofType } from '@ngrx/effects'; import { of } from 'rxjs'; import { catchError, mergeMap, switchMap, tap } from 'rxjs/operators'; @@ -42,7 +41,7 @@ export class BinaryFileEffects { ofType(BinaryFileActions.downloadPdf), switchMap((action: DownloadBinaryFileAsPdfAction) => this.binaryFileRepository.downloadPdf(action.uri).pipe( mergeMap((fileData: Blob) => [BinaryFileActions.saveAsPdf({ fileData, fileName: action.fileName }), action.successAction()]), - catchError(error => of(action.failureAction(getApiErrorFromHttpErrorResponse(error)))) + catchError(error => of(action.failureAction(error.error))) )) ) ); diff --git a/goofy-client/libs/tech-shared/src/lib/interceptor/http-binary-file.interceptor.ts b/goofy-client/libs/tech-shared/src/lib/interceptor/http-binary-file.interceptor.ts index 205aae4ac2..05d3180f3d 100644 --- a/goofy-client/libs/tech-shared/src/lib/interceptor/http-binary-file.interceptor.ts +++ b/goofy-client/libs/tech-shared/src/lib/interceptor/http-binary-file.interceptor.ts @@ -23,7 +23,6 @@ */ import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponseBase } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { ContentType } from 'libs/binary-file-shared/src/lib/binary-file.repository'; import { Observable, throwError } from 'rxjs'; import { catchError } from 'rxjs/operators'; @@ -36,15 +35,15 @@ export class HttpBinaryFileInterceptor implements HttpInterceptor { public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { return next.handle(req).pipe(catchError((response: HttpResponseBase) => { - if (this.shouldConvertToJson(response)) { - return this.convertToJson(<HttpErrorResponse>response) + if (this.shouldConvertToJson((<any>response).error)) { + return this.convertToJson((<HttpErrorResponse>response).error) } return throwError(response); })); } private shouldConvertToJson(err: HttpResponseBase): boolean { - return err instanceof HttpErrorResponse && err.error instanceof Blob && err.error.type === ContentType.APPLICATION_JSON; + return err instanceof HttpErrorResponse && err.error instanceof Blob && err.error.type === 'application/json'; } convertToJson(errorResponse: HttpErrorResponse): Promise<any> { diff --git a/goofy-client/libs/user-profile-shared/src/lib/user-profile.util.ts b/goofy-client/libs/user-profile-shared/src/lib/user-profile.util.ts index c76a76ffc5..d9f8e721bd 100644 --- a/goofy-client/libs/user-profile-shared/src/lib/user-profile.util.ts +++ b/goofy-client/libs/user-profile-shared/src/lib/user-profile.util.ts @@ -22,7 +22,7 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { EMPTY_STRING, getFirstLetter, getStringValue, isNotEmpty, isNotNull } from '@goofy-client/tech-shared'; -import { isNull } from 'lodash-es'; +import { isNil, isNull } from 'lodash-es'; import { UserProfileResource } from './user-profile.model'; export const NO_NAME_MESSAGE: string = 'Benutzer ohne hinterlegtem Namen'; @@ -33,7 +33,7 @@ export function existsName(userProfile: UserProfileResource): boolean { } export function getUserName(userProfile: UserProfileResource): string { - if (isNull(userProfile)) { + if (isNil(userProfile)) { return UNKNOWN_USER; } if (existsName(userProfile)) { diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerProperties.java b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerProperties.java index 2a576cecb6..fcc03ad0d9 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerProperties.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerProperties.java @@ -42,14 +42,9 @@ public class UserManagerProperties { private String url; private String profileTemplate; private String searchTempalte; - private String internalurl; - String getProfileTemplate() { - return url + profileTemplate; - } - - String getInternalUrlTemplate() { + String getFullInternalUrlTemplate() { return internalurl + MIGRATION_PATH; } } \ No newline at end of file diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java index 0e6ff45623..035f14ba40 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java @@ -21,7 +21,7 @@ public class UserManagerUrlProvider { } public String getInternalUserIdTemplate() { - return userManagerProperties.getInternalUrlTemplate(); + return userManagerProperties.getFullInternalUrlTemplate(); } public boolean isConfiguredForUserProfile() { diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserRemoteService.java b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserRemoteService.java index 700057bec1..d5386f1a36 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserRemoteService.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserRemoteService.java @@ -63,7 +63,8 @@ public class UserRemoteService { public Optional<UserId> getUserId(UserId externalUserId) { try { if (userManagerUrlProvider.isConfiguredForInternalUserId()) { - var internalId = restTemplate.getForObject(userManagerProperties.getInternalUrlTemplate(), String.class, externalUserId.toString()); + var internalId = restTemplate.getForObject(userManagerProperties.getFullInternalUrlTemplate(), String.class, + externalUserId.toString()); return StringUtils.isNotEmpty(internalId) ? Optional.of(UserId.from(internalId)) : Optional.empty(); } else { return Optional.empty(); diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserRemoteServiceTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserRemoteServiceTest.java index ef6086164f..1bfa6fe898 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserRemoteServiceTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserRemoteServiceTest.java @@ -73,7 +73,7 @@ class UserRemoteServiceTest { @BeforeEach void mock() { - when(userManagerProperties.getInternalUrlTemplate()).thenReturn(internalUrlTemplate); + when(userManagerProperties.getFullInternalUrlTemplate()).thenReturn(internalUrlTemplate); when(userManagerUrlProvider.isConfiguredForInternalUserId()).thenReturn(true); } @@ -131,7 +131,7 @@ class UserRemoteServiceTest { void shouldNotCallUserManagerProperties() { service.getUserId(UserProfileTestFactory.ID); - verify(userManagerProperties, never()).getInternalUrlTemplate(); + verify(userManagerProperties, never()).getFullInternalUrlTemplate(); } @Test diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java index 6ff2e440f6..48f5df1391 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerITCase.java @@ -144,7 +144,7 @@ class VorgangControllerITCase { when(remoteService.findVorgangWithEingang(anyString())).thenReturn(VorgangWithEingangTestFactory.create()); doRequest() - .andExpect(jsonPath("$._links.assignedTo.href").value("https://localhost9092/api/userProfiles/" + UserProfileTestFactory.ID)); + .andExpect(jsonPath("$._links.assignedTo.href").value("http://localhost9092/api/userProfiles/" + UserProfileTestFactory.ID)); } @Test -- GitLab