ref: Refactoring

This commit is contained in:
Maksim Eltyshev
2022-08-04 13:31:14 +02:00
parent aa4723d7fe
commit 3f8216dca8
189 changed files with 3781 additions and 3486 deletions
@@ -0,0 +1,89 @@
import { call, put, select } from 'redux-saga/effects';
import request from '../request';
import selectors from '../../../selectors';
import actions from '../../../actions';
import api from '../../../api';
import { createLocalId } from '../../../utils/local-id';
export function* createAttachment(cardId, data) {
const localId = yield call(createLocalId);
yield put(
actions.createAttachment({
cardId,
id: localId,
name: data.file.name,
}),
);
let attachment;
try {
({ item: attachment } = yield call(request, api.createAttachment, cardId, data, localId));
} catch (error) {
yield put(actions.createAttachment.failure(localId, error));
return;
}
yield put(actions.createAttachment.success(localId, attachment));
}
export function* createAttachmentInCurrentCard(data) {
const { cardId } = yield select(selectors.selectPath);
yield call(createAttachment, cardId, data);
}
export function* handleAttachmentCreate(attachment, requestId) {
const isExists = yield select(selectors.selectIsAttachmentWithIdExists, requestId);
if (!isExists) {
yield put(actions.handleAttachmentCreate(attachment));
}
}
export function* updateAttachment(id, data) {
yield put(actions.updateAttachment(id, data));
let attachment;
try {
({ item: attachment } = yield call(request, api.updateAttachment, id, data));
} catch (error) {
yield put(actions.updateAttachment.failure(id, error));
return;
}
yield put(actions.updateAttachment.success(attachment));
}
export function* handleAttachmentUpdate(attachment) {
yield put(actions.handleAttachmentUpdate(attachment));
}
export function* deleteAttachment(id) {
yield put(actions.deleteAttachment(id));
let attachment;
try {
({ item: attachment } = yield call(request, api.deleteAttachment, id));
} catch (error) {
yield put(actions.deleteAttachment.failure(id, error));
return;
}
yield put(actions.deleteAttachment.success(attachment));
}
export function* handleAttachmentDelete(attachment) {
yield put(actions.handleAttachmentDelete(attachment));
}
export default {
createAttachment,
createAttachmentInCurrentCard,
handleAttachmentCreate,
updateAttachment,
handleAttachmentUpdate,
deleteAttachment,
handleAttachmentDelete,
};