33Здесь размещаются хуки и функции для работы с задачами через REST API WorkTech.
44
55## Структура
6- - ** use-get-tasks.ts** — получение всех задач активного проекта.
7- - ** use-create-task.ts** — создание новой задачи.
8- - ** use-update-task.ts** — обновление задачи.
6+ - ** use-get-tasks.ts** — получение всех задач активного проекта через ` getTasksInProject ` .
7+ - ** use-create-task.ts** — создание новой задачи с преобразованием типов.
8+ - ** use-update-task.ts** — обновление задачи с указанием projectId и taskId.
9+ - ** utils.ts** — вспомогательные функции для преобразования типов данных между API и фронтендом.
910- ** ...** — другие хуки для работы с комментариями, статусами, связями задач и т.д.
1011
1112## Как работает
1213- Каждый хук инкапсулирует вызов определённого эндпоинта WorkTech API.
1314- Все хуки используют централизованный API-клиент (` rpc.ts ` ) для авторизации, обработки токенов и ошибок.
1415- Возвращают данные, статус загрузки, ошибки и функции для вызова (например, ` mutate ` для создания/обновления).
16+ - Используют функции из ` utils.ts ` для преобразования типов данных между API и фронтендом.
1517
1618## Пример использования
1719
@@ -26,4 +28,24 @@ if (error) return <ErrorMessage />;
2628return <TaskList tasks = { tasks } />;
2729```
2830
29- > Все функции используют централизованный API-клиент (rpc.ts) для запросов к серверу.
31+ ## Преобразование типов
32+
33+ Все ответы от API преобразуются в типы, используемые во фронтенде:
34+ - ` TaskDataDto ` → ` Task `
35+ - ` UserShortDataDto ` → ` UserShortData `
36+
37+ Пример:
38+ ``` tsx
39+ import { useCreateTask } from ' ./use-create-task' ;
40+
41+ const { mutate } = useCreateTask ();
42+
43+ // Данные автоматически преобразуются в нужный формат
44+ mutate ({
45+ title: " Новая задача" ,
46+ priority: " HIGH" ,
47+ // ...другие поля
48+ });
49+ ```
50+
51+ > Все функции используют централизованный API-клиент (rpc.ts) для запросов к серверу и функции из utils.ts для преобразования типов.
0 commit comments