RED-6033: Show error message on update profile (400 & 409)

This commit is contained in:
Adina Țeudan 2023-01-19 07:32:18 +02:00
parent 1f9bace6a6
commit b0bea9fefc

View File

@ -3,7 +3,7 @@ import { KeycloakService } from 'keycloak-angular';
import { BehaviorSubject, firstValueFrom, Observable, throwError } from 'rxjs'; import { BehaviorSubject, firstValueFrom, Observable, throwError } from 'rxjs';
import { catchError, tap } from 'rxjs/operators'; import { catchError, tap } from 'rxjs/operators';
import { BASE_HREF, List, mapEach, RequiredParam, Validate } from '../../utils'; 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 { CacheApiService } from '../../caching';
import { EntitiesService } from '../../listing'; import { EntitiesService } from '../../listing';
import { IIqserUser } from '../types/user.response'; import { IIqserUser } from '../types/user.response';
@ -15,7 +15,6 @@ import { KeycloakProfile } from 'keycloak-js';
import { IqserUser } from '../iqser-user.model'; import { IqserUser } from '../iqser-user.model';
import { IqserPermissionsService, IqserRolesService } from '../../permissions'; import { IqserPermissionsService, IqserRolesService } from '../../permissions';
import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http';
import { IqserConfigService } from '../../services';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@Injectable() @Injectable()
@ -128,11 +127,17 @@ export abstract class IqserUserService<
@Validate() @Validate()
updateMyProfile<T = IMyProfileUpdateRequest>(@RequiredParam() body: T) { updateMyProfile<T = IMyProfileUpdateRequest>(@RequiredParam() body: T) {
const showToast = (error: HttpErrorResponse) => { const showToast = (error: HttpErrorResponse) => {
if (error.status === HttpStatusCode.BadRequest) { switch (error.status) {
case HttpStatusCode.BadRequest:
case HttpStatusCode.Conflict: {
const { message } = error.error; const { message } = error.error;
this._toaster.error(_('update-profile.errors.bad-request'), { params: { message } }); this._toaster.error(_('update-profile.errors.bad-request'), { params: { message } });
} else { break;
}
default: {
this._toaster.error(_('update-profile.errors.generic')); this._toaster.error(_('update-profile.errors.generic'));
break;
}
} }
return throwError(() => error); return throwError(() => error);
}; };