e3fb518ab2
- Remove workspace_id from Pydantic models in project_management routes - Remove workspace_id from SQLAlchemy and SQLite project management repos - Remove workspace_id from worker tasks (storage keys, entity creation) - Remove workspace_id from video dedup and title usage modules - Remove workspace_id from generation and ingest worker tasks - Clean workspace_id from all test files and scripts - Remove workspace-specific test files (list_workspaces, workspace repos) Task: #14 workspace_id 残留清理
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from pydantic import BaseModel, Field
|
||
|
||
|
||
|
||
class UploadAssetRequest(BaseModel):
|
||
"""素材上传请求(multipart form)"""
|
||
project_id: str = Field(..., min_length=1, description="项目 ID")
|
||
library_id: str = Field(..., min_length=1, description="素材库 ID")
|
||
|
||
class UploadAssetResponse(BaseModel):
|
||
storage_key: str
|
||
ingest_job_id: str
|
||
url: str = Field(..., description="Public URL of uploaded file")
|
||
|
||
|
||
class DirectUploadPrepareRequest(BaseModel):
|
||
project_id: str = Field(..., min_length=1)
|
||
library_id: str = Field(..., min_length=1)
|
||
filename: str = Field(..., min_length=1, max_length=255)
|
||
content_type: str = Field(default="application/octet-stream", min_length=1, max_length=100)
|
||
file_size: int = Field(..., gt=0)
|
||
|
||
|
||
class DirectUploadPrepareResponse(BaseModel):
|
||
upload_url: str
|
||
method: str
|
||
storage_key: str
|
||
expires_at: str
|
||
fields: dict[str, str]
|
||
max_size_bytes: int
|
||
|
||
|
||
class DirectUploadCompleteRequest(BaseModel):
|
||
project_id: str = Field(..., min_length=1)
|
||
library_id: str = Field(..., min_length=1)
|
||
storage_key: str = Field(..., min_length=1, max_length=255)
|
||
|
||
|
||
class DirectUploadCompleteResponse(BaseModel):
|
||
storage_key: str
|
||
ingest_job_id: str
|