Skip to content

Трекинг времени

Трекинг времени позволяет логировать часы работы над задачами. Каждая запись содержит количество минут, необязательное описание и дату.

Модель

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)
  • Дата по умолчанию — текущий момент, но может быть переопределена