Browse Source

Feature/improve error handling in http response interceptor (#3471)

* Improve error handling in HttpResponseInterceptor

* Update changelog
pull/3473/head
Thomas Kaul 4 months ago
committed by GitHub
parent
commit
8131a7ad03
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 15
      apps/client/src/app/core/http-response.interceptor.ts

1
CHANGELOG.md

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Improved the allocations by ETF holding on the allocations page (experimental)
- Improved the error handling in the `HttpResponseInterceptor`
- Improved the language localization for German (`de`)
- Upgraded `prisma` from version `5.14.0` to `5.15.0`

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