audio-processor / application /dto /extraction_response.py
tedowski's picture
n8n-improvements (#1)
dbe78dd verified
raw
history blame
1.19 kB
"""Response DTOs for extraction use cases."""
from dataclasses import dataclass
from datetime import datetime
from typing import Optional, Dict, Any
@dataclass
class DirectExtractionResultDTO:
"""DTO for direct extraction result."""
file_path: str
media_type: str
filename: str
processing_time: float
file_size: int
@dataclass
class JobStatusDTO:
"""DTO for job status."""
job_id: str
external_job_id: Optional[str] = None
status: str
created_at: datetime
updated_at: datetime
filename: Optional[str] = None
file_size_mb: Optional[float] = None
output_format: Optional[str] = None
quality: Optional[str] = None
processing_time: Optional[float] = None
error: Optional[str] = None
download_url: Optional[str] = None
@dataclass
class DownloadResultDTO:
"""DTO for download result."""
file_path: str
media_type: str
filename: str
processing_time: float
storage_key: str = None
@dataclass
class JobCreationDTO:
"""DTO for job creation."""
job_id: str
external_job_id: Optional[str] = None
status: str
message: str
check_url: str
file_size_mb: Optional[float] = None