58789: Ability to clear request cache from index

This commit is contained in:
Kristof De Langhe
2018-11-26 13:18:17 +01:00
parent c493fc4003
commit 8be40c31f6
5 changed files with 133 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
import {
RequestActionTypes, RequestAction, RequestConfigureAction,
RequestExecuteAction, RequestCompleteAction, ResetResponseTimestampsAction
RequestExecuteAction, RequestCompleteAction, ResetResponseTimestampsAction, RequestRemoveAction
} from './request.actions';
import { RestRequest } from './request.models';
import { RestResponse } from '../cache/response.models';
@@ -38,6 +38,10 @@ export function requestReducer(state = initialState, action: RequestAction): Req
return resetResponseTimestamps(state, action as ResetResponseTimestampsAction);
}
case RequestActionTypes.REMOVE: {
return removeRequest(state, action as RequestRemoveAction);
}
default: {
return state;
}
@@ -95,3 +99,13 @@ function resetResponseTimestamps(state: RequestState, action: ResetResponseTimes
});
return newState;
}
function removeRequest(state: RequestState, action: RequestRemoveAction): RequestState {
const newState = Object.create(null);
for (const value in state) {
if (value !== action.uuid) {
newState[value] = state[value];
}
}
return newState;
}