Модуль tasks (задачи, колонки, комментарии, стикеры, тайм-трекинг)

Модуль отвечает за задачи, канбан-колонки, комментарии, стикеры, приоритеты и учёт времени. Работает в связке с модулем projects (задачи/колонки привязаны к доскам проектов).

Документы модуля

ДокументСодержание
architecture.mdСлои, сущности, ключевые классы
dto.mdВсе 10 DTO: поля, типы, примеры
commands-queries.mdКоманды и запросы (задачи, колонки, стикеры, таймеры)
entities-events.mdСущности, события, листенеры, карта подписок
time-tracking.mdТайм-трекинг: таймеры, интервалы, daily summary, busy chart
access.mdITaskAccess, права на задачи и колонки
configuration.mdDI, routing, события→листенеры

Краткая модель

Доска (проект) ── * Колонка (BoardColumn)
                    └── * Задача (Task)
                           ├── * Комментарий (Comment)
                           ├── * Стикер (Sticker)   [через task_sticker_map]
                           ├── * Интервал времени (TimeInterval)
                           └── * Сводка (DailySummary)
Приоритет (TaskPriority) ── * Задача

Ключевые классы

КлассРоль
TaskController, BoardColumnController, CommentController, StickerController, TaskStickerController, TimeIntervalController, PriorityControllerHTTP-эндпоинты
CreateTaskHandler, UpdateTaskHandler, MoveTaskToColumnHandler, StartTimerHandler, StopTimerHandler и др.CQRS-хендлеры
TaskAccessПрава (делегирует в IProjectAccess)
AutoTimerListenerАвтостарт/стоп таймера при переносе/назначении/удалении
PlannedIntervalListenerСинхронизация planned-интервалов с задачами
TimeTrackingListenerОбновление daily summary при остановке таймера
TaskLoggerListenerЛогирование событий задач
TaskNotificationListenerЗаготовка уведомлений (TODO)
BusyChartService, TaskStatisticsServiceАналитика времени и статистика

Взаимодействие

Детали — в документах модуля.