37 lines
965 B
JavaScript
37 lines
965 B
JavaScript
import { call, put, select } from 'redux-saga/effects';
|
|
|
|
import { createTaskRequest, deleteTaskRequest, updateTaskRequest } from '../requests';
|
|
import { pathSelector } from '../../../selectors';
|
|
import { createTask, deleteTask, updateTask } from '../../../actions';
|
|
import { createLocalId } from '../../../utils/local-id';
|
|
|
|
export function* createTaskService(cardId, data) {
|
|
const localId = yield call(createLocalId);
|
|
|
|
yield put(
|
|
createTask({
|
|
...data,
|
|
cardId,
|
|
id: localId,
|
|
}),
|
|
);
|
|
|
|
yield call(createTaskRequest, cardId, localId, data);
|
|
}
|
|
|
|
export function* createTaskInCurrentCardService(data) {
|
|
const { cardId } = yield select(pathSelector);
|
|
|
|
yield call(createTaskService, cardId, data);
|
|
}
|
|
|
|
export function* updateTaskService(id, data) {
|
|
yield put(updateTask(id, data));
|
|
yield call(updateTaskRequest, id, data);
|
|
}
|
|
|
|
export function* deleteTaskService(id) {
|
|
yield put(deleteTask(id));
|
|
yield call(deleteTaskRequest, id);
|
|
}
|