From 790cc33a39e1ca9f34bf6e112e22bf6341bb1ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Wed, 28 Apr 2021 14:21:02 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20d'un=20reset=20de=20cache=20apr=C3=A8s?= =?UTF-8?q?=20un=20ajout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/services/dropzone.service.ts | 17 +++++++++-------- .../src/services/gear.service.ts | 1 + .../src/services/service-ref-data.service.ts | 10 +++++++++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Front/skydivelogs-app/src/services/dropzone.service.ts b/Front/skydivelogs-app/src/services/dropzone.service.ts index a4020e8..795d2b6 100644 --- a/Front/skydivelogs-app/src/services/dropzone.service.ts +++ b/Front/skydivelogs-app/src/services/dropzone.service.ts @@ -30,26 +30,26 @@ export class DropzoneService extends BaseService { return this.serviceRefData.get>(RefData.Dropzone, callToApi); } - public SetFavoriteDropZone(selectedDz: DropZoneResp): boolean { + public SetFavoriteDropZone(selectedDz: DropZoneResp) { selectedDz.isFavorite = true; this.http.put(`${this.apiUrl}/DropZone/AddToFavorite/${selectedDz.id}`, selectedDz, { headers: this.headers }) - .subscribe(); - - return true; + .subscribe(() => { + this.serviceRefData.delete(RefData.Dropzone); + }); } - public RemoveFavoriteDropZone(selectedDz: DropZoneResp): boolean { + public RemoveFavoriteDropZone(selectedDz: DropZoneResp) { selectedDz.isFavorite = false; this.http.put(`${this.apiUrl}/DropZone/RemoveToFavorite${selectedDz.id}`, selectedDz, { headers: this.headers }) - .subscribe(); - - return true; + .subscribe(() => { + this.serviceRefData.delete(RefData.Dropzone); + }); } public AddDropZone(latitude: string, @@ -72,6 +72,7 @@ export class DropzoneService extends BaseService { isFavorite: isFavorite }; + this.serviceRefData.delete(RefData.Dropzone); return this.http.post(`${this.apiUrl}/DropZone`, bodyNewDropZone, { headers: this.headers }); diff --git a/Front/skydivelogs-app/src/services/gear.service.ts b/Front/skydivelogs-app/src/services/gear.service.ts index a8d201b..8e3e8b0 100644 --- a/Front/skydivelogs-app/src/services/gear.service.ts +++ b/Front/skydivelogs-app/src/services/gear.service.ts @@ -37,6 +37,7 @@ export class GearService extends BaseService { reserveCanopy: reserveCanopy }; + this.serviceRefData.delete(RefData.Gear); return this.http.post(`${this.apiUrl}/Gear`, bodyNewGear, { headers: this.headers}); } } diff --git a/Front/skydivelogs-app/src/services/service-ref-data.service.ts b/Front/skydivelogs-app/src/services/service-ref-data.service.ts index e9f42f2..b8445ed 100644 --- a/Front/skydivelogs-app/src/services/service-ref-data.service.ts +++ b/Front/skydivelogs-app/src/services/service-ref-data.service.ts @@ -15,7 +15,11 @@ export class ServiceRefData { this.cache = new Map>(); } - public get(key: RefData, callToApi: Observable) : Observable { + public get(key: RefData, callToApi: Observable, withResetCache: boolean = false) : Observable { + if (withResetCache === true) { + this.cache.delete(key); + } + const cached = this.cache.get(key); if (cached) { @@ -27,4 +31,8 @@ export class ServiceRefData { })); } } + + public delete(key: RefData) { + this.cache.delete(key); + } }