feat(repairs): add status timeline and public link preparation
This commit is contained in:
parent
e9ec207617
commit
09cce1f2b6
22 changed files with 1027 additions and 28 deletions
|
|
@ -129,6 +129,8 @@ class RepairStatusHistoryResponse(BaseModel):
|
|||
new_status: str
|
||||
note: str | None
|
||||
actor_user_id: int | None
|
||||
actor_username: str = ""
|
||||
actor_display_name: str = ""
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
|
@ -160,3 +162,61 @@ class RepairIntakeResponse(BaseModel):
|
|||
repair_number: str
|
||||
status: RepairStatus
|
||||
message: str
|
||||
|
||||
|
||||
class RepairPublicLinkResponse(BaseModel):
|
||||
is_active: bool
|
||||
token_hint: str | None = None
|
||||
expires_at: datetime | None = None
|
||||
last_used_at: datetime | None = None
|
||||
created_at: datetime | None = None
|
||||
revoked_at: datetime | None = None
|
||||
public_status_path: str | None = None
|
||||
|
||||
|
||||
class RepairPublicLinkCreateResponse(RepairPublicLinkResponse):
|
||||
token: str
|
||||
public_status_path: str
|
||||
|
||||
|
||||
class RepairPublicStatusHistoryItem(BaseModel):
|
||||
status: RepairStatus
|
||||
status_label: str
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class RepairPublicStatusResponse(BaseModel):
|
||||
repair_number: str
|
||||
public_status_label: str
|
||||
device_manufacturer: str
|
||||
device_model: str
|
||||
status_history_public: list[RepairPublicStatusHistoryItem]
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class RepairNotificationTemplateResponse(BaseModel):
|
||||
event_type: str
|
||||
status: RepairStatus | None = None
|
||||
subject: str
|
||||
text: str
|
||||
html: str | None = None
|
||||
|
||||
|
||||
class RepairNotificationEventResponse(BaseModel):
|
||||
id: int
|
||||
repair_id: int
|
||||
event_type: str
|
||||
channel: str
|
||||
recipient: str
|
||||
subject: str
|
||||
status: str
|
||||
error_message: str | None
|
||||
created_at: datetime
|
||||
sent_at: datetime | None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class RepairNotificationOverviewResponse(BaseModel):
|
||||
templates: list[RepairNotificationTemplateResponse]
|
||||
events: list[RepairNotificationEventResponse]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue