From a7f48865ea9ea440543b110bd1629900f489a7ee Mon Sep 17 00:00:00 2001 From: Michael W Spalti <mspalti@gmail.com> Date: Thu, 10 Oct 2019 16:25:00 -0700 Subject: [PATCH] Added forceBypassCache property to request model. --- src/app/core/data/request.models.ts | 2 ++ src/app/core/data/request.service.ts | 2 +- src/app/core/submission/submission-rest.service.spec.ts | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/core/data/request.models.ts b/src/app/core/data/request.models.ts index 647f3a9b13..5d14925929 100644 --- a/src/app/core/data/request.models.ts +++ b/src/app/core/data/request.models.ts @@ -23,6 +23,7 @@ import { TaskResponseParsingService } from '../tasks/task-response-parsing.servi export abstract class RestRequest { public responseMsToLive = 10 * 1000; + public forceBypassCache = false; constructor( public uuid: string, public href: string, @@ -281,6 +282,7 @@ export class UpdateMetadataFieldRequest extends PutRequest { * Class representing a submission HTTP GET request object */ export class SubmissionRequest extends GetRequest { + forceBypassCache = true; constructor(uuid: string, href: string) { super(uuid, href); } diff --git a/src/app/core/data/request.service.ts b/src/app/core/data/request.service.ts index 17aab032e3..bd65163892 100644 --- a/src/app/core/data/request.service.ts +++ b/src/app/core/data/request.service.ts @@ -148,7 +148,7 @@ export class RequestService { */ configure<T extends CacheableObject>(request: RestRequest): void { const isGetRequest = request.method === RestRequestMethod.GET; - if (!isGetRequest || !this.isCachedOrPending(request)) { + if (!isGetRequest || request.forceBypassCache || !this.isCachedOrPending(request)) { this.dispatchRequest(request); if (isGetRequest) { this.trackRequestsOnTheirWayToTheStore(request); diff --git a/src/app/core/submission/submission-rest.service.spec.ts b/src/app/core/submission/submission-rest.service.spec.ts index e6cf3cb6b0..30fe9f9163 100644 --- a/src/app/core/submission/submission-rest.service.spec.ts +++ b/src/app/core/submission/submission-rest.service.spec.ts @@ -60,7 +60,8 @@ describe('SubmissionRestService test suite', () => { it('should configure a new SubmissionRequest', () => { const expected = new SubmissionRequest(requestService.generateRequestId(), resourceHref); // set cache time to zero - expected.responseMsToLive = 10 * 1000; + expected.responseMsToLive = 0; + expected.forceBypassCache = true; scheduler.schedule(() => service.getDataById(resourceEndpoint, resourceScope).subscribe()); scheduler.flush(); -- GitLab