2019-08-31 04:07:25 +05:00
|
|
|
import { call, put, select } from 'redux-saga/effects';
|
|
|
|
|
|
|
|
import {
|
|
|
|
createCardLabelRequest,
|
|
|
|
createLabelRequest,
|
|
|
|
deleteCardLabelRequest,
|
|
|
|
deleteLabelRequest,
|
|
|
|
updateLabelRequest,
|
|
|
|
} from '../requests';
|
2019-10-10 02:51:54 +05:00
|
|
|
import { pathSelector } from '../../../selectors';
|
2019-08-31 04:07:25 +05:00
|
|
|
import {
|
|
|
|
addLabelToBoardFilter,
|
|
|
|
addLabelToCard,
|
|
|
|
createLabel,
|
|
|
|
deleteLabel,
|
|
|
|
removeLabelFromBoardFilter,
|
|
|
|
removeLabelFromCard,
|
|
|
|
updateLabel,
|
|
|
|
} from '../../../actions';
|
2019-10-10 02:51:54 +05:00
|
|
|
import { createLocalId } from '../../../utils/local-id';
|
2019-08-31 04:07:25 +05:00
|
|
|
|
|
|
|
export function* createLabelService(boardId, data) {
|
2019-10-10 02:51:54 +05:00
|
|
|
const localId = yield call(createLocalId);
|
2019-08-31 04:07:25 +05:00
|
|
|
|
|
|
|
yield put(
|
|
|
|
createLabel({
|
|
|
|
...data,
|
|
|
|
boardId,
|
|
|
|
id: localId,
|
|
|
|
}),
|
|
|
|
);
|
|
|
|
|
|
|
|
yield call(createLabelRequest, boardId, localId, data);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* createLabelInCurrentBoardService(data) {
|
|
|
|
const { boardId } = yield select(pathSelector);
|
|
|
|
|
|
|
|
yield call(createLabelService, boardId, data);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* updateLabelService(id, data) {
|
|
|
|
yield put(updateLabel(id, data));
|
|
|
|
yield call(updateLabelRequest, id, data);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* deleteLabelService(id) {
|
|
|
|
yield put(deleteLabel(id));
|
|
|
|
yield call(deleteLabelRequest, id);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* addLabelToCardService(id, cardId) {
|
|
|
|
yield put(addLabelToCard(id, cardId));
|
|
|
|
yield call(createCardLabelRequest, cardId, id);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* addLabelToCurrentCardService(id) {
|
|
|
|
const { cardId } = yield select(pathSelector);
|
|
|
|
|
|
|
|
yield call(addLabelToCardService, id, cardId);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* removeLabelFromCardService(id, cardId) {
|
|
|
|
yield put(removeLabelFromCard(id, cardId));
|
|
|
|
yield call(deleteCardLabelRequest, cardId, id);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* removeLabelFromCurrentCardService(id) {
|
|
|
|
const { cardId } = yield select(pathSelector);
|
|
|
|
|
|
|
|
yield call(removeLabelFromCardService, id, cardId);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* addLabelToBoardFilterService(id, boardId) {
|
|
|
|
yield put(addLabelToBoardFilter(id, boardId));
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* addLabelToFilterInCurrentBoardService(id) {
|
|
|
|
const { boardId } = yield select(pathSelector);
|
|
|
|
|
|
|
|
yield call(addLabelToBoardFilterService, id, boardId);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* removeLabelFromBoardFilterService(id, boardId) {
|
|
|
|
yield put(removeLabelFromBoardFilter(id, boardId));
|
|
|
|
}
|
|
|
|
|
|
|
|
export function* removeLabelFromFilterInCurrentBoardService(id) {
|
|
|
|
const { boardId } = yield select(pathSelector);
|
|
|
|
|
|
|
|
yield call(removeLabelFromBoardFilterService, id, boardId);
|
|
|
|
}
|