mirror of
https://github.com/plankanban/planka.git
synced 2025-12-24 09:15:01 +03:00
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
import { call, put, select } from 'redux-saga/effects';
|
|
|
|
import { goToProjectService, goToRootService } from './router';
|
|
import {
|
|
createProjectRequest,
|
|
deleteProjectRequest,
|
|
updateProjectBackgroundImageRequest,
|
|
updateProjectRequest,
|
|
} from '../requests';
|
|
import { pathSelector } from '../../../selectors';
|
|
import { createProject, deleteProject, updateProject } from '../../../actions';
|
|
|
|
export function* createProjectService(data) {
|
|
yield put(createProject(data));
|
|
|
|
const {
|
|
success,
|
|
payload: { project },
|
|
} = yield call(createProjectRequest, data);
|
|
|
|
if (success) {
|
|
yield call(goToProjectService, project.id);
|
|
}
|
|
}
|
|
|
|
export function* updateProjectService(id, data) {
|
|
yield put(updateProject(id, data));
|
|
yield call(updateProjectRequest, id, data);
|
|
}
|
|
|
|
export function* updateCurrentProjectService(data) {
|
|
const { projectId } = yield select(pathSelector);
|
|
|
|
yield call(updateProjectService, projectId, data);
|
|
}
|
|
|
|
export function* updateProjectBackgroundImageService(id, data) {
|
|
yield call(updateProjectBackgroundImageRequest, id, data);
|
|
}
|
|
|
|
export function* updateCurrentProjectBackgroundImageService(data) {
|
|
const { projectId } = yield select(pathSelector);
|
|
|
|
yield call(updateProjectBackgroundImageService, projectId, data);
|
|
}
|
|
|
|
export function* deleteProjectService(id) {
|
|
const { projectId } = yield select(pathSelector);
|
|
|
|
if (id === projectId) {
|
|
yield call(goToRootService);
|
|
}
|
|
|
|
yield put(deleteProject(id));
|
|
yield call(deleteProjectRequest, id);
|
|
}
|
|
|
|
export function* deleteCurrentProjectService() {
|
|
const { projectId } = yield select(pathSelector);
|
|
|
|
yield call(deleteProjectService, projectId);
|
|
}
|