diff --git a/apps/api/app/api/routes/asset_diagnosis.py b/apps/api/app/api/routes/asset_diagnosis.py index d852bcb04..76fd75967 100644 --- a/apps/api/app/api/routes/asset_diagnosis.py +++ b/apps/api/app/api/routes/asset_diagnosis.py @@ -49,12 +49,12 @@ def _build_diagnosis(project_id: str, assets: list[Asset]) -> ProjectAssetDiagno asset for asset in ready_assets if (asset.quality_score is not None and asset.quality_score < 60) - or asset.extra_meta.get("review_status") == "rejected" + or asset.metadata.get("review_status") == "rejected" or asset.status == AssetStatus.ERROR ] - used_assets = [asset for asset in ready_assets if int(asset.extra_meta.get("generation_use_count") or 0) > 0] - unused_assets = [asset for asset in ready_assets if int(asset.extra_meta.get("generation_use_count") or 0) == 0] - pending_review_assets = [asset for asset in ready_assets if asset.extra_meta.get("review_status") == "pending_review"] + used_assets = [asset for asset in ready_assets if int(asset.metadata.get("generation_use_count") or 0) > 0] + unused_assets = [asset for asset in ready_assets if int(asset.metadata.get("generation_use_count") or 0) == 0] + pending_review_assets = [asset for asset in ready_assets if asset.metadata.get("review_status") == "pending_review"] total_duration = round(sum(float(asset.duration or 0) for asset in video_assets), 2) estimated_video_count = max( 0, min(len(video_assets), int(total_duration // 5) if total_duration else len(video_assets)) diff --git a/apps/api/app/api/routes/assets.py b/apps/api/app/api/routes/assets.py index befcabd28..aa37bfe99 100644 --- a/apps/api/app/api/routes/assets.py +++ b/apps/api/app/api/routes/assets.py @@ -27,7 +27,7 @@ def _to_asset_response(item) -> AssetResponse: name=item.name, storage_key=item.storage_key, mime_type=item.mime_type, - metadata=item.extra_meta, + metadata=item.metadata, file_size=item.file_size, thumbnail_url=item.thumbnail_url, duration=item.duration, @@ -69,8 +69,8 @@ def list_assets( def _apply_asset_review_status(item, review_status: str): - item.extra_meta = { - **item.extra_meta, + item.metadata = { + **item.metadata, "review_status": review_status, } return item diff --git a/apps/worker/worker_app/core/asset_usage.py b/apps/worker/worker_app/core/asset_usage.py index 9a9efdd9a..891e0a24c 100644 --- a/apps/worker/worker_app/core/asset_usage.py +++ b/apps/worker/worker_app/core/asset_usage.py @@ -2,9 +2,9 @@ from datetime import datetime, timezone def mark_asset_used_for_generation(asset) -> None: - asset.extra_meta = { - **asset.extra_meta, - "generation_use_count": int(asset.extra_meta.get("generation_use_count") or 0) + 1, + asset.metadata = { + **asset.metadata, + "generation_use_count": int(asset.metadata.get("generation_use_count") or 0) + 1, "last_used_at": datetime.now(timezone.utc).isoformat(), - "review_status": asset.extra_meta.get("review_status") or "pending_review", + "review_status": asset.metadata.get("review_status") or "pending_review", } diff --git a/apps/worker/worker_app/tasks/voice_extraction.py b/apps/worker/worker_app/tasks/voice_extraction.py index d92f6f3cc..38641e66b 100644 --- a/apps/worker/worker_app/tasks/voice_extraction.py +++ b/apps/worker/worker_app/tasks/voice_extraction.py @@ -66,9 +66,9 @@ def extract_voice_task(self: Task, asset_id: str) -> dict: voice_storage_key = f"assets/{asset_id}/voice.mp3" storage_service.upload_file(voice_output_path, voice_storage_key) voice_url = storage_service.get_url(voice_storage_key) - if asset.extra_meta is None: - asset.extra_meta = {} - asset.extra_meta["voice_url"] = voice_url + if asset.metadata is None: + asset.metadata = {} + asset.metadata["voice_url"] = voice_url asset_repo.update(asset) session.commit() logger.info(f"Voice extraction completed for asset {asset_id}: {voice_url}") @@ -101,9 +101,9 @@ def extract_background_task(self: Task, asset_id: str) -> dict: bg_storage_key = f"assets/{asset_id}/background.mp3" storage_service.upload_file(bg_output_path, bg_storage_key) bg_url = storage_service.get_url(bg_storage_key) - if asset.extra_meta is None: - asset.extra_meta = {} - asset.extra_meta["background_url"] = bg_url + if asset.metadata is None: + asset.metadata = {} + asset.metadata["background_url"] = bg_url asset_repo.update(asset) session.commit() logger.info(f"Background extraction completed for asset {asset_id}: {bg_url}") diff --git a/packages/adapters/sqlalchemy_impl/asset_repository.py b/packages/adapters/sqlalchemy_impl/asset_repository.py index b2d6f0a1a..063edf77e 100644 --- a/packages/adapters/sqlalchemy_impl/asset_repository.py +++ b/packages/adapters/sqlalchemy_impl/asset_repository.py @@ -60,7 +60,7 @@ class SQLAlchemyAssetRepository: codec=asset.codec, status=asset.status.value, classification_status=asset.classification_status.value, - classification_result=(json.dumps(asset.extra_meta) if asset.extra_meta else None), + classification_result=(json.dumps(asset.metadata) if asset.metadata else None), quality_score=asset.quality_score, uploaded_by_user_id=asset.uploaded_by_user_id or "system", created_at=asset.created_at, @@ -85,7 +85,7 @@ class SQLAlchemyAssetRepository: model.codec = asset.codec model.status = asset.status.value model.classification_status = asset.classification_status.value - model.classification_result = json.dumps(asset.extra_meta) if asset.extra_meta else None + model.classification_result = json.dumps(asset.metadata) if asset.metadata else None model.quality_score = asset.quality_score model.uploaded_by_user_id = asset.uploaded_by_user_id or model.uploaded_by_user_id model.updated_at = datetime.now(timezone.utc)