30 lines
1.1 KiB
Python
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
|