From b0bea9fefc0d9bd84efa85baf6f5f9d2d69bdfb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Thu, 19 Jan 2023 07:32:18 +0200 Subject: [PATCH] RED-6033: Show error message on update profile (400 & 409) --- src/lib/users/services/iqser-user.service.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lib/users/services/iqser-user.service.ts b/src/lib/users/services/iqser-user.service.ts index 3ddcbeb..870e4bf 100644 --- a/src/lib/users/services/iqser-user.service.ts +++ b/src/lib/users/services/iqser-user.service.ts @@ -3,7 +3,7 @@ import { KeycloakService } from 'keycloak-angular'; import { BehaviorSubject, firstValueFrom, Observable, throwError } from 'rxjs'; import { catchError, tap } from 'rxjs/operators'; import { BASE_HREF, List, mapEach, RequiredParam, Validate } from '../../utils'; -import { QueryParam, Toaster } from '../../services'; +import { IqserConfigService, QueryParam, Toaster } from '../../services'; import { CacheApiService } from '../../caching'; import { EntitiesService } from '../../listing'; import { IIqserUser } from '../types/user.response'; @@ -15,7 +15,6 @@ import { KeycloakProfile } from 'keycloak-js'; import { IqserUser } from '../iqser-user.model'; import { IqserPermissionsService, IqserRolesService } from '../../permissions'; import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; -import { IqserConfigService } from '../../services'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @Injectable() @@ -128,11 +127,17 @@ export abstract class IqserUserService< @Validate() updateMyProfile(@RequiredParam() body: T) { const showToast = (error: HttpErrorResponse) => { - if (error.status === HttpStatusCode.BadRequest) { - const { message } = error.error; - this._toaster.error(_('update-profile.errors.bad-request'), { params: { message } }); - } else { - this._toaster.error(_('update-profile.errors.generic')); + switch (error.status) { + case HttpStatusCode.BadRequest: + case HttpStatusCode.Conflict: { + const { message } = error.error; + this._toaster.error(_('update-profile.errors.bad-request'), { params: { message } }); + break; + } + default: { + this._toaster.error(_('update-profile.errors.generic')); + break; + } } return throwError(() => error); };