Трекинг времени
Трекинг времени позволяет логировать часы работы над задачами. Каждая запись содержит количество минут, необязательное описание и дату.
Модель
TimeEntry
├── taskId (каскадное удаление)
├── userId
├── minutes (целое число)
├── description?
└── date (по умолчанию now)API Эндпоинты
| Метод | Путь | Описание |
|---|---|---|
GET | /api/tasks/:taskId/time-entries | Список записей времени задачи |
GET | /api/tasks/:taskId/time-total | Суммарное время задачи |
POST | /api/tasks/:taskId/time-entries | Добавить запись времени |
DELETE | /api/time-entries/:id | Удалить запись времени |
Фронтенд
Компонент TimeTracker
Компонент TimeTracker.vue предоставляет:
- Суммарное время по задаче
- Список отдельных записей с автором, продолжительностью и описанием
- Форму для логирования нового времени (минуты + описание)
- Кнопку удаления для собственных записей
Ключевые детали
- Записи времени привязаны к задачам — каждая ссылается на
taskId - Эндпоинт
time-totalсуммирует все записи для быстрого отображения - Записи сохраняют пользователя, который залогировал время (
userId) - Дата по умолчанию — текущий момент, но может быть переопределена