From 2d0d8a2777ffa3464e1883f7d8b198afb3b014bb Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 20 Aug 2026 15:59:44 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=90=86=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E7=BB=9F=E4=B8=80=E5=90=8E=E7=9A=84=E6=AE=8B?= =?UTF-8?q?=E7=95=99=E6=AD=BB=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后端: - create_asset 函数简化为仅返回 410,删除 46 行死代码 - 移除无用的依赖注入参数(asset_repository 等) 前端: - 删除 createAsset 函数定义(assets.ts) - 删除 createAsset 的 re-export(index.ts) 注: uploadAsset 函数保留(语音克隆 CloneModal 仍在使用) --- apps/api/app/api/routes/assets.py | 52 ++++--------------------------- apps/web/src/api/assets/assets.ts | 12 ------- apps/web/src/api/assets/index.ts | 1 - 3 files changed, 6 insertions(+), 59 deletions(-) diff --git a/apps/api/app/api/routes/assets.py b/apps/api/app/api/routes/assets.py index 6c40e6af4..e94d61f91 100755 --- a/apps/api/app/api/routes/assets.py +++ b/apps/api/app/api/routes/assets.py @@ -677,52 +677,12 @@ def untag_asset( @router.post("", response_model=AssetResponse) -def create_asset( - request: CreateAssetRequest, - authenticated_user: AuthenticatedUser = Depends(get_current_user), -) -> AssetResponse: - # 统一上传路径:所有素材必须走 ingest-jobs 接口 - # 前端上传 OSS → completeDirectUpload → _submit_ingest_job → Worker 处理 +def create_asset() -> None: + """ + 已废弃接口。 + 所有素材上传统一走 uploadAssetDirect → completeDirectUpload → ingest-jobs 流程。 + """ raise HTTPException( status_code=410, - detail="此接口已废弃。请使用 uploadAssetDirect 接口上传素材,Worker 会自动处理(视频转码、图片/音频元数据提取)并创建 Asset 记录。" + detail="此接口已废弃。请使用 uploadAssetDirect 接口上传素材,Worker 会自动处理(视频转码、图片/音频元数据提取)并创建 Asset 记录。", ) - if library is None: - raise HTTPException(status_code=404, detail=f"AssetLibrary {request.library_id} not found") - - # project_id 自动推导:优先用请求值,否则从 library 关联的项目获取 - project_id = request.project_id or library.project_id - - project = project_repository.find_by_id(project_id) - if project is None: - raise HTTPException(status_code=404, detail=f"Project {project_id} not found") - if not project.can_access(authenticated_user.user.id): - raise HTTPException(status_code=403, detail="Access denied to project") - - # 确保 library 和 project 归属一致 - if library.project_id != project_id: - raise HTTPException(status_code=400, detail="AssetLibrary does not belong to the specified project") - - use_case = CreateAssetUseCase(asset_repository) - item = use_case.execute( - CreateAssetCommand( - project_id=project_id, - library_id=request.library_id, - name=request.name, - storage_key=request.storage_key, - mime_type=request.mime_type, - metadata=request.metadata, - file_size=request.file_size, - thumbnail_url=request.thumbnail_url, - duration=request.duration, - width=request.width, - height=request.height, - fps=request.fps, - codec=request.codec, - status=AssetStatus(request.status), - classification_status=ClassificationStatus(request.classification_status), - quality_score=request.quality_score, - uploaded_by_user_id=authenticated_user.user.id, - ) - ) - return _to_asset_response(item) diff --git a/apps/web/src/api/assets/assets.ts b/apps/web/src/api/assets/assets.ts index d54e52c54..c436295c5 100644 --- a/apps/web/src/api/assets/assets.ts +++ b/apps/web/src/api/assets/assets.ts @@ -60,18 +60,6 @@ export const smartMatchAssets = async (libraryId: string): Promise<{ items: Asse return response.data } -/** 创建素材(上传文件后调用,附带 metadata) */ -export const createAsset = async (data: { - library_id: string - name: string - storage_key: string - mime_type: string - metadata?: AssetMetadata -}): Promise => { - const response = await apiClient.post("/assets", data) - return response.data -} - /** 更新素材(名称、metadata 等) */ export const updateAsset = async ( assetId: string, diff --git a/apps/web/src/api/assets/index.ts b/apps/web/src/api/assets/index.ts index 22654854e..ba460863d 100644 --- a/apps/web/src/api/assets/index.ts +++ b/apps/web/src/api/assets/index.ts @@ -34,7 +34,6 @@ export { getAssets, getAssetsByKind, smartMatchAssets, - createAsset, updateAsset, updateAssetReviewStatus, deleteAsset,