in src/app/customers/cases/store/tasks/tasks.reducer.ts [36:89]
export function reducer(state = initialState, action: task.Actions): State {
switch (action.type) {
case task.LOAD_ALL: {
return initialState;
}
case task.LOAD_ALL_COMPLETE: {
const entities = action.payload;
const commands = state.commands.map(command => {
return Object.assign({}, command, {
tasks: entities.filter(instance => instance.taskDefinition.actions.indexOf(command.action) > -1)
});
});
return {
commands
};
}
case task.EXECUTE_TASK_SUCCESS: {
const payload = action.payload;
const commands = state.commands.map(command => {
if (command.action !== payload.action) {
return command;
}
return Object.assign({}, command, {
tasks: command.tasks.map(task => {
if (task.taskDefinition.identifier !== payload.taskIdentifier) {
return task;
}
return Object.assign({}, task, {
executedOn: payload.executed ? new Date().toISOString() : undefined,
executedBy: payload.executedBy
});
})
});
});
return {
commands
};
}
default: {
return state;
}
}
}