feat: добавление работы с пользователями

- добавление участников в канбан доску
- назначение исполнителя на задачу
- снятие исполнителя с задачи
This commit is contained in:
Vladiysss
2026-03-01 21:37:57 +03:00
parent 66385c8b22
commit 859a45aad9
4 changed files with 202 additions and 9 deletions

View File

@@ -7,7 +7,10 @@ import {
updateTaskAPI,
updateCategoryAPI,
deleteCategoryAPI,
deleteTaskAPI
deleteTaskAPI,
assignMemberAPI,
unassignMemberAPI,
addMemberAPI
} from './BoardAPI';
export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) => {
@@ -88,6 +91,7 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading)
update_method: 'category',
value: Number(taskCategory)
});
await loadBoardData();
modalEditTask({}, null)();
} catch (err) {
@@ -147,6 +151,45 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading)
}
}, [loadBoardData, setLoading, setError]);
const assignMember = useCallback(async (editedTaskId, memberId, act, modalAssignMember) => {
setLoading(true);
try {
if (act) {
await assignMemberAPI({
id: editedTaskId,
member_id: memberId
});
} else if (!act) {
await unassignMemberAPI({
id: editedTaskId,
member_id: memberId
});
}
await loadBoardData();
modalAssignMember();
} catch {
setError('Ошибка');
} finally{
setLoading(false);
}
}, [loadBoardData, setLoading, setError]);
const addMember = useCallback(async (username, boardId, modalAddMember) => {
setLoading(true);
try {
await addMemberAPI({
username: username,
board_id: boardId
});
await loadBoardData();
modalAddMember();
} catch {
setError('Ошибка');
} finally{
setLoading(false);
}
}, [loadBoardData, setLoading, setError]);
return {
loadBoardData,
createTask,
@@ -154,6 +197,8 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading)
editTask,
editCategory,
deleteCategory,
deleteTask
deleteTask,
assignMember,
addMember
};
};