Better sync

This commit is contained in:
Mikan
2026-03-12 18:50:39 +03:00
parent 4b56ec4641
commit 1afa6f71ca
4 changed files with 237 additions and 30 deletions

View File

@@ -14,6 +14,14 @@ class WorkSession(BaseModel):
end_time: datetime
details: List[WorkDetail]
synchronized: bool = False
id: Optional[str] = None # ID work item в YouTrack
youtrack_created_at: Optional[datetime] = None # Время создания в YouTrack для сопоставления
description: Optional[str] = None # Описание для сопоставления (опционально)
class Config:
json_encoders = {
datetime: lambda v: v.isoformat()
}
class TrackedTask(BaseModel):
@@ -71,4 +79,16 @@ class TrackerConfig(BaseModel):
def __init__(self, **data):
super().__init__(**data)
if not self.window_policies:
self.window_policies = self.default_policies()
self.window_policies = self.default_policies()
class YouTrackTimeTrackerEntryDuration(BaseModel):
minutes: int
class YouTrackTimeTrackerEntry(BaseModel):
id: str
duration: YouTrackTimeTrackerEntryDuration
@property
def minutes(self) -> int:
return self.duration.minutes