M18: implement operational workspaces
This commit is contained in:
@@ -57,6 +57,10 @@ class VehicleOut(BaseModel):
|
||||
next_service_km: int
|
||||
active: bool
|
||||
attention: bool = False
|
||||
attention_reason: str | None = None
|
||||
service_remaining_km: int
|
||||
next_booking_ref: str | None = None
|
||||
next_booking_at: datetime | None = None
|
||||
|
||||
|
||||
class VehiclePageOut(BaseModel):
|
||||
@@ -221,6 +225,10 @@ class DataQualityIssueOut(BaseModel):
|
||||
status: str
|
||||
evidence: dict[str, Any]
|
||||
detected_at: datetime
|
||||
due_at: datetime | None = None
|
||||
assigned_to_ref: str | None = None
|
||||
assigned_to_name: str | None = None
|
||||
overdue: bool = False
|
||||
resolved_at: datetime | None = None
|
||||
|
||||
|
||||
@@ -237,6 +245,18 @@ class DataQualityIssueDetailOut(DataQualityIssueOut):
|
||||
related_snapshots: list[dict[str, Any]] = Field(default_factory=list)
|
||||
|
||||
|
||||
class BulkDataQualityWorkRequest(BaseModel):
|
||||
issue_refs: list[str] = Field(min_length=1, max_length=25)
|
||||
assigned_to_ref: str | None = Field(default=None, min_length=3, max_length=20)
|
||||
clear_assignment: bool = False
|
||||
due_at: datetime | None = None
|
||||
clear_due_at: bool = False
|
||||
|
||||
|
||||
class BulkDataQualityWorkResult(BaseModel):
|
||||
updated: list[DataQualityIssueOut]
|
||||
|
||||
|
||||
class MergeCustomersRequest(BaseModel):
|
||||
survivor_ref: str
|
||||
field_overrides: dict[str, str] | None = None
|
||||
|
||||
Reference in New Issue
Block a user