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

Loading…
Cancel
Save