mvp implementation
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""In-memory models representing conversion workflow state."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
def utc_now() -> datetime:
|
||||
"""Return the current UTC timestamp with timezone information."""
|
||||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
class ConversionSession:
|
||||
"""Stores mutable state for a single conversion lifecycle."""
|
||||
|
||||
conversion_id: str
|
||||
source_filename: str
|
||||
bucket_name: str
|
||||
upload_object_key: str
|
||||
status: int
|
||||
created_at: datetime = field(default_factory=utc_now)
|
||||
updated_at: datetime = field(default_factory=utc_now)
|
||||
error_message: str = ""
|
||||
slide_deck: Any | None = None
|
||||
work_dir: Path | None = None
|
||||
conversion_task: Any | None = None
|
||||
cleanup_task: Any | None = None
|
||||
Reference in New Issue
Block a user