feat(stats): optimize dashboard data loading with internal ui endpoints

This commit is contained in:
Alexander Kalinovsky
2026-04-01 19:05:57 +03:00
parent 19d659df6b
commit 9b9c7b5575
11 changed files with 552 additions and 140 deletions

View File

@@ -140,3 +140,33 @@ class TaskExportRowDTO(BaseModel):
created_at: datetime
started_at: datetime | None = None
done_at: datetime | None = None
class TaskBoardItemDTO(BaseModel):
model_config = ConfigDict(extra="forbid", frozen=True)
id: UUID
title: str = Field(..., min_length=1, max_length=100)
status: TaskStatus
display_date_label: str = Field(..., min_length=1, max_length=20)
display_date_value: datetime | None = None
class TaskBoardDTO(BaseModel):
model_config = ConfigDict(extra="forbid", frozen=True)
backlog_tasks: list[TaskBoardItemDTO]
in_progress_tasks: list[TaskBoardItemDTO]
done_tasks: list[TaskBoardItemDTO]
class TaskDetailsDTO(BaseModel):
model_config = ConfigDict(extra="forbid", frozen=True)
id: UUID
title: str = Field(..., min_length=1, max_length=100)
status: TaskStatus
created_at: datetime
started_at: datetime | None = None
done_at: datetime | None = None
cycle_time: str