heygem-gateway/models.py

37 lines
848 B
Python

from datetime import datetime
from enum import Enum
from typing import Optional
from pydantic import BaseModel
# 定义任务状态枚举
class TaskStatus(Enum):
PENDING = "pending"
QUEUED = "queued"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
# 定义任务模型
class Task(BaseModel):
task_id: str
audio_file_path: str
video_file_path: str
output_dir: str
output_file_path: str
description: str
status: TaskStatus
created_at: datetime
completed_at: Optional[datetime] = None
error_message: Optional[str] = None
machine_name: Optional[str] = None
callback_url: Optional[str] = None
# 定义任务创建请求模型
class TaskCreateRequest(BaseModel):
description: str
callback_url: Optional[str] = None