diff --git a/src/app/core/cache/request-cache.actions.ts b/src/app/core/cache/request-cache.actions.ts index 014bc1b059..63874f9188 100644 --- a/src/app/core/cache/request-cache.actions.ts +++ b/src/app/core/cache/request-cache.actions.ts @@ -63,13 +63,15 @@ export class RequestCacheSuccessAction implements Action { type = RequestCacheActionTypes.SUCCESS; payload: { key: string, - resourceUUIDs: Array + resourceUUIDs: Array, + msToLive: number }; - constructor(key: string, resourceUUIDs: Array) { + constructor(key: string, resourceUUIDs: Array, msToLive: number) { this.payload = { key, - resourceUUIDs + resourceUUIDs, + msToLive }; } } diff --git a/src/app/core/cache/request-cache.reducer.ts b/src/app/core/cache/request-cache.reducer.ts index 320bf6251d..051b029701 100644 --- a/src/app/core/cache/request-cache.reducer.ts +++ b/src/app/core/cache/request-cache.reducer.ts @@ -83,7 +83,9 @@ function success(state: RequestCacheState, action: RequestCacheSuccessAction): R [action.payload.key]: Object.assign({}, state[action.payload.key], { isLoading: false, resourceUUIDs: action.payload.resourceUUIDs, - errorMessage: undefined + errorMessage: undefined, + timeAdded: new Date().getTime(), + msToLive: action.payload.msToLive }) }); } diff --git a/src/app/core/data-services/data.effects.ts b/src/app/core/data-services/data.effects.ts index aaafda598b..545ef6ec45 100644 --- a/src/app/core/data-services/data.effects.ts +++ b/src/app/core/data-services/data.effects.ts @@ -40,7 +40,7 @@ export abstract class DataEffects { }); }) .map((ts: Array) => ts.map(t => t.uuid)) - .map((ids: Array) => new RequestCacheSuccessAction(action.payload.key, ids)) + .map((ids: Array) => new RequestCacheSuccessAction(action.payload.key, ids, GlobalConfig.cache.msToLive)) .catch((errorMsg: string) => Observable.of(new RequestCacheErrorAction(action.payload.key, errorMsg))); }); @@ -53,7 +53,7 @@ export abstract class DataEffects { .do((t: T) => { this.objectCache.add(t, GlobalConfig.cache.msToLive); }) - .map((t: T) => new RequestCacheSuccessAction(action.payload.key, [t.uuid])) + .map((t: T) => new RequestCacheSuccessAction(action.payload.key, [t.uuid], GlobalConfig.cache.msToLive)) .catch((errorMsg: string) => Observable.of(new RequestCacheErrorAction(action.payload.key, errorMsg))); });