Files
planka/client/src/sagas/core/services/task.js
T

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);
}