/**
* Getting All departments with includes
* @param includes
* @returns {Function}
*/
export function getDepartments(includes) {
return dispatch => {
dispatch(fetchDepartmentsStart()); // отправка события о старте действия в Department Store
dispatch(fetchOperatorsStart()); // отправка события о старте действия в Operator Store
department.getDepartmentsList(
includes,
departments => {
let response = normalize(departments, {
departments: arrayOf(departmentSchema)
});
dispatch(receiveOperatorsSuccess(response.entities.operators)); // отправка события об успешном получении данных в Operator Store
return dispatch(receiveDepartmentsSuccess(response.entities.departments, response.result.departments)); // отправка события об успешном получении данных в Department Store
}, error => {
// тоже самое и с событием ошибки
dispatch(receiveOperatorsError(error));
return dispatch(receiveDepartmentsError(error));
})
}
}