Browse Source

Improve error handling in HttpResponseInterceptor

pull/3471/head
Thomas Kaul 1 year ago
parent
commit
147c008e50
  1. 15
      apps/client/src/app/core/http-response.interceptor.ts

15
apps/client/src/app/core/http-response.interceptor.ts

@ -2,7 +2,6 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service'; import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
import { InfoItem } from '@ghostfolio/common/interfaces'; import { InfoItem } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { import {
HTTP_INTERCEPTORS, HTTP_INTERCEPTORS,
@ -25,7 +24,6 @@ import { catchError, tap } from 'rxjs/operators';
@Injectable() @Injectable()
export class HttpResponseInterceptor implements HttpInterceptor { export class HttpResponseInterceptor implements HttpInterceptor {
public hasPermissionForSubscription: boolean;
public info: InfoItem; public info: InfoItem;
public snackBarRef: MatSnackBarRef<TextOnlySnackBar>; public snackBarRef: MatSnackBarRef<TextOnlySnackBar>;
@ -37,11 +35,6 @@ export class HttpResponseInterceptor implements HttpInterceptor {
private webAuthnService: WebAuthnService private webAuthnService: WebAuthnService
) { ) {
this.info = this.dataService.fetchInfo(); this.info = this.dataService.fetchInfo();
this.hasPermissionForSubscription = hasPermission(
this.info?.globalPermissions,
permissions.enableSubscription
);
} }
public intercept( public intercept(
@ -65,12 +58,8 @@ export class HttpResponseInterceptor implements HttpInterceptor {
); );
} else if (!error.url.includes('/auth')) { } else if (!error.url.includes('/auth')) {
this.snackBarRef = this.snackBar.open( this.snackBarRef = this.snackBar.open(
this.hasPermissionForSubscription $localize`This action is not allowed.`,
? $localize`This feature requires a subscription.` undefined,
: $localize`This action is not allowed.`,
this.hasPermissionForSubscription
? $localize`Upgrade Plan`
: undefined,
{ duration: 6000 } { duration: 6000 }
); );
} }

Loading…
Cancel
Save