68 lines
1.4 KiB
JavaScript
68 lines
1.4 KiB
JavaScript
import { call, put } from 'redux-saga/effects';
|
|
|
|
import request from './request';
|
|
import {
|
|
createCardLabelFailed,
|
|
createCardLabelRequested,
|
|
createCardLabelSucceeded,
|
|
deleteCardLabelFailed,
|
|
deleteCardLabelRequested,
|
|
deleteCardLabelSucceeded,
|
|
} from '../../../actions';
|
|
import api from '../../../api';
|
|
|
|
export function* createCardLabelRequest(cardId, labelId) {
|
|
yield put(
|
|
createCardLabelRequested({
|
|
cardId,
|
|
labelId,
|
|
}),
|
|
);
|
|
|
|
try {
|
|
const { item } = yield call(request, api.createCardLabel, cardId, {
|
|
labelId,
|
|
});
|
|
|
|
const action = createCardLabelSucceeded(item);
|
|
yield put(action);
|
|
|
|
return {
|
|
success: true,
|
|
payload: action.payload,
|
|
};
|
|
} catch (error) {
|
|
const action = createCardLabelFailed(error);
|
|
yield put(action);
|
|
|
|
return {
|
|
success: false,
|
|
payload: action.payload,
|
|
};
|
|
}
|
|
}
|
|
|
|
export function* deleteCardLabelRequest(cardId, labelId) {
|
|
yield put(deleteCardLabelRequested(cardId, labelId));
|
|
|
|
try {
|
|
const { item } = yield call(request, api.deleteCardLabel, cardId, labelId);
|
|
|
|
const action = deleteCardLabelSucceeded(item);
|
|
yield put(action);
|
|
|
|
return {
|
|
success: true,
|
|
payload: action.payload,
|
|
};
|
|
} catch (error) {
|
|
const action = deleteCardLabelFailed(cardId, labelId, error);
|
|
yield put(action);
|
|
|
|
return {
|
|
success: false,
|
|
payload: action.payload,
|
|
};
|
|
}
|
|
}
|