mirror of
https://github.com/plankanban/planka.git
synced 2025-12-24 09:15:01 +03:00
82 lines
2.1 KiB
JavaScript
82 lines
2.1 KiB
JavaScript
/*!
|
|
* Copyright (c) 2024 PLANKA Software GmbH
|
|
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
*/
|
|
|
|
import { call, put, select } from 'redux-saga/effects';
|
|
|
|
import request from '../request';
|
|
import selectors from '../../../selectors';
|
|
import actions from '../../../actions';
|
|
import api from '../../../api';
|
|
|
|
export function* fetchActivitiesInBoard(boardId) {
|
|
const { lastActivityId } = yield select(selectors.selectBoardById, boardId);
|
|
|
|
yield put(actions.fetchActivitiesInBoard(boardId));
|
|
|
|
let activities;
|
|
let users;
|
|
|
|
try {
|
|
({
|
|
items: activities,
|
|
included: { users },
|
|
} = yield call(request, api.getActivitiesInBoard, boardId, {
|
|
beforeId: lastActivityId || undefined,
|
|
}));
|
|
} catch (error) {
|
|
yield put(actions.fetchActivitiesInBoard.failure(boardId, error));
|
|
return;
|
|
}
|
|
|
|
yield put(actions.fetchActivitiesInBoard.success(boardId, activities, users));
|
|
}
|
|
|
|
export function* fetchActivitiesInCurrentBoard() {
|
|
const { boardId } = yield select(selectors.selectPath);
|
|
|
|
yield call(fetchActivitiesInBoard, boardId);
|
|
}
|
|
|
|
export function* fetchActivitiesInCard(cardId) {
|
|
const { lastActivityId } = yield select(selectors.selectCardById, cardId);
|
|
|
|
yield put(actions.fetchActivitiesInCard(cardId));
|
|
|
|
let activities;
|
|
let users;
|
|
|
|
try {
|
|
({
|
|
items: activities,
|
|
included: { users },
|
|
} = yield call(request, api.getActivitiesInCard, cardId, {
|
|
beforeId: lastActivityId || undefined,
|
|
}));
|
|
} catch (error) {
|
|
yield put(actions.fetchActivitiesInCard.failure(cardId, error));
|
|
return;
|
|
}
|
|
|
|
yield put(actions.fetchActivitiesInCard.success(cardId, activities, users));
|
|
}
|
|
|
|
export function* fetchActivitiesInCurrentCard() {
|
|
const { cardId } = yield select(selectors.selectPath);
|
|
|
|
yield call(fetchActivitiesInCard, cardId);
|
|
}
|
|
|
|
export function* handleActivityCreate(activity) {
|
|
yield put(actions.handleActivityCreate(activity));
|
|
}
|
|
|
|
export default {
|
|
fetchActivitiesInBoard,
|
|
fetchActivitiesInCurrentBoard,
|
|
fetchActivitiesInCard,
|
|
fetchActivitiesInCurrentCard,
|
|
handleActivityCreate,
|
|
};
|