JobData/app/schemas/cleaning.py

30 lines
1.1 KiB
Python

from datetime import datetime
from typing import Optional, Any
from pydantic import BaseModel, Field
class CleaningTaskBase(BaseModel):
target: str = Field(description="目标(URL/公司名/ID)")
clean_type: str = Field("auto", description="清洗模式")
platform: str = Field("auto", description="目标平台")
proxy: Optional[str] = Field(None, description="代理地址")
status: str = Field("pending", description="状态: pending/processing/success/fail")
storage_status: str = Field("unknown", description="存储状态: saved/duplicate/failed/unknown")
remote_sent: bool = Field(False, description="是否已远程推送")
result_summary: Optional[Any] = Field(None, description="清洗结果摘要")
original_data: Optional[Any] = Field(None, description="原始请求数据")
error_msg: Optional[str] = Field(None, description="错误信息")
class CleaningTaskCreate(CleaningTaskBase):
pass
class CleaningTaskUpdate(CleaningTaskBase):
pass
class CleaningTaskOut(CleaningTaskBase):
id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True