2026-03-25 21:10:10 +00:00
|
|
|
from dataclasses import dataclass
|
|
|
|
|
from datetime import datetime, timezone
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
class SummariseJob:
|
|
|
|
|
id: str
|
|
|
|
|
user_id: str
|
|
|
|
|
status: str
|
|
|
|
|
source_language: str
|
|
|
|
|
target_language: str
|
|
|
|
|
complexity_level: str
|
|
|
|
|
input_summary: str
|
|
|
|
|
generated_text: str
|
|
|
|
|
translated_text: str
|
|
|
|
|
error_message: str
|
|
|
|
|
audio_url: str
|
2026-03-27 09:45:44 +00:00
|
|
|
source_pos_data: dict | None
|
|
|
|
|
target_pos_data: dict | None
|
|
|
|
|
audio_transcript: dict | None
|
2026-03-25 21:10:10 +00:00
|
|
|
created_at: datetime
|
|
|
|
|
started_at: datetime | None = None
|
|
|
|
|
completed_at: datetime | None = None
|
|
|
|
|
updated_at: datetime = None
|
|
|
|
|
|
|
|
|
|
def __post_init__(self):
|
|
|
|
|
if self.updated_at is None:
|
|
|
|
|
self.updated_at = datetime.now(timezone.utc)
|