Files
video-gen/video-gen-api/app/schemas/resources_material.py
T

64 lines
3.4 KiB
Python

from datetime import date, datetime
from typing import Optional
from pydantic import BaseModel, Field
class ResourcesMaterialQuery(BaseModel):
advertiser_id: Optional[str] = Field(None, description="广告主id")
material_id: Optional[str] = Field(None, description="素材id")
upload_id: Optional[str] = Field(None, description="上传资源平台id")
resource_type: Optional[str] = Field(None, description="资源类型,image或者video")
page: int = Field(1, description="页码")
page_size: int = Field(20, description="每页数量")
class GeneratedResourceOut(BaseModel):
file_name: Optional[str] = Field(None, description="文件名")
resource_url: str = Field(..., description="资源URL")
remote_url: Optional[str] = Field(None, description="远程URL")
storage_type: str = Field(..., description="存储类型")
storage_path: Optional[str] = Field(None, description="存储路径")
file_size_bytes: int = Field(..., description="文件大小(字节)")
source_model: str = Field(..., description="来源模型")
source_model_module: Optional[str] = Field(None, description="来源模型模块")
source_id: str = Field(..., description="来源id")
engine_id: Optional[str] = Field(None, description="引擎id")
engine_type: Optional[str] = Field(None, description="引擎类型")
provider: Optional[str] = Field(None, description="提供商")
model_name: Optional[str] = Field(None, description="模型名称")
generated_at: Optional[datetime] = Field(None, description="生成时间")
resource_month: date = Field(..., description="资源月份")
created_at: datetime = Field(..., description="创建时间")
class ResourcesMaterialOut(BaseModel):
id: str = Field(..., description="主键")
oauth_id: str = Field(..., description="授权表user_oauth自增id")
advertiser_id: Optional[str] = Field(None, description="广告主id")
target_table: Optional[str] = Field(None, description="资源表名称")
target_id: Optional[str] = Field(None, description="资源表id")
material_id: Optional[str] = Field(None, description="素材id")
upload_id: Optional[str] = Field(None, description="上传资源平台id")
resource_type: Optional[str] = Field(None, description="资源类型")
user_id: Optional[str] = Field(None, description="用户登录id")
task_id: Optional[str] = Field(None, description="前测任务id")
note: Optional[str] = Field(None, description="备注")
status: Optional[str] = Field(None, description="前测状态")
pre_result: Optional[str] = Field(None, description="前测结果")
pre_test_template_id: Optional[str] = Field(None, description="前测模板id")
created_at: datetime = Field(..., description="创建时间")
updated_at: datetime = Field(..., description="更新时间")
resource: Optional[GeneratedResourceOut] = Field(None, description="关联的资源信息")
class ResourcesMaterialListResponse(BaseModel):
code: int = Field(0, description="返回码,0表示成功")
message: str = Field("查询成功", description="返回消息")
data: list[ResourcesMaterialOut] = Field(..., description="素材列表数据")
total: int = Field(..., description="总记录数")
class PreTestMaterialRequest(BaseModel):
resources_material_ids: list[str] = Field(..., description="资源素材表id列表")
pre_test_template_id: str = Field(..., description="前测模板id")