From ddcb1ecdf23c2f3310bba303a4bc929c117b801f Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Tue, 14 Dec 2021 12:42:24 +0100 Subject: [PATCH] [DSC-287] invalidate root endpoint cache when redirected to 500 page in order to check every time the rest server availability --- src/app/core/data/root-data.service.ts | 7 +++++++ src/app/core/server-check/server-check.guard.ts | 1 + 2 files changed, 8 insertions(+) diff --git a/src/app/core/data/root-data.service.ts b/src/app/core/data/root-data.service.ts index 8b4e836671..ce1b33a9e3 100644 --- a/src/app/core/data/root-data.service.ts +++ b/src/app/core/data/root-data.service.ts @@ -106,5 +106,12 @@ export class RootDataService { findAllByHref(href: string | Observable, findListOptions: FindListOptions = {}, useCachedVersionIfAvailable = true, reRequestOnStale = true, ...linksToFollow: FollowLinkConfig[]): Observable>> { return this.dataService.findAllByHref(href, findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow); } + + /** + * Set to sale the root endpoint cache hit + */ + invalidateRootCache() { + this.requestService.setStaleByHrefSubstring('server/api'); + } } /* tslint:enable:max-classes-per-file */ diff --git a/src/app/core/server-check/server-check.guard.ts b/src/app/core/server-check/server-check.guard.ts index b7982eee9a..017b75d373 100644 --- a/src/app/core/server-check/server-check.guard.ts +++ b/src/app/core/server-check/server-check.guard.ts @@ -32,6 +32,7 @@ export class ServerCheckGuard implements CanActivate { map((res: RemoteData) => res.hasSucceeded), tap((hasSucceeded: boolean) => { if (!hasSucceeded) { + this.rootDataService.invalidateRootCache(); this.router.navigateByUrl(getPageInternalServerErrorRoute()); } }),