1f8de776e8
- 成片列表分页接口(支持按项目/状态/复核状态筛选) - 封面图自动生成(视频生成后ffmpeg抽首帧+OSS上传) - 复核状态流转接口(pending_review/approved/rejected) - 批量下载异步任务(打包zip+OSS上传+状态查询) - 18个新增单测全绿,20个已有单测保持通过 新增文件: - apps/api/app/api/routes/videos.py - 成片中心API - apps/api/app/schemas/video_center.py - Schema定义 - apps/worker/video_processing/thumbnail_generator.py - 缩略图生成 - apps/worker/worker_app/tasks/batch_download.py - 批量下载任务 - tests/unit/test_video_center_backend.py - 单元测试 修改文件: - packages/ports/generated_video_repository.py - 新增4个接口方法 - packages/adapters/sqlalchemy_impl/generated_video_repository.py - 实现4个方法 - packages/application/generated_videos.py - 新增3个UseCase - packages/application/__init__.py - 导出新类 - apps/api/app/api/router.py - 注册videos路由 - apps/worker/video_processing/dedup_helpers.py - 集成缩略图生成 - apps/worker/worker_app/celery_app.py - 注册batch_download任务
107 lines
2.9 KiB
Python
Executable File
107 lines
2.9 KiB
Python
Executable File
"""Application use cases package."""
|
|
|
|
from .asset_libraries import (
|
|
CreateAssetLibraryCommand,
|
|
CreateAssetLibraryUseCase,
|
|
ListAssetLibrariesUseCase,
|
|
)
|
|
from .assets import CreateAssetCommand, CreateAssetUseCase, ListAssetsUseCase
|
|
from .classification_jobs import (
|
|
SubmitClassificationJobCommand,
|
|
SubmitClassificationJobUseCase,
|
|
)
|
|
from .duplication import (
|
|
DeleteDuplicationRecordUseCase,
|
|
GetDuplicationDetailUseCase,
|
|
ListDuplicationRecordsUseCase,
|
|
RetryDuplicationUseCase,
|
|
UploadForDuplicationCommand,
|
|
UploadForDuplicationUseCase,
|
|
)
|
|
from .generated_videos import (
|
|
GetGeneratedVideoDownloadUrlUseCase,
|
|
GetGeneratedVideoUseCase,
|
|
GetVideosByIdsUseCase,
|
|
ListGeneratedVideosByTaskUseCase,
|
|
ListGeneratedVideosPaginatedUseCase,
|
|
ListGeneratedVideosUseCase,
|
|
UpdateVideoReviewStatusUseCase,
|
|
)
|
|
from .generation_tasks import (
|
|
CreateGenerationTaskCommand,
|
|
CreateGenerationTaskUseCase,
|
|
GetGenerationTaskUseCase,
|
|
)
|
|
from .ingest_jobs import SubmitIngestJobCommand, SubmitIngestJobUseCase
|
|
from .jobs import (
|
|
CancelJobUseCase,
|
|
CompleteJobCommand,
|
|
CompleteJobUseCase,
|
|
CreateJobCommand,
|
|
CreateJobUseCase,
|
|
FailJobCommand,
|
|
FailJobUseCase,
|
|
GetJobStatisticsUseCase,
|
|
GetJobUseCase,
|
|
ListJobsUseCase,
|
|
RetryJobUseCase,
|
|
SubmitJobUseCase,
|
|
UpdateJobProgressCommand,
|
|
UpdateJobProgressUseCase,
|
|
)
|
|
from .projects import (
|
|
CreateProjectCommand,
|
|
CreateProjectUseCase,
|
|
DeleteProjectUseCase,
|
|
GetProjectUseCase,
|
|
ListProjectsUseCase,
|
|
)
|
|
|
|
__all__ = [
|
|
"CancelJobUseCase",
|
|
"CompleteJobCommand",
|
|
"CompleteJobUseCase",
|
|
"CreateAssetCommand",
|
|
"CreateAssetLibraryCommand",
|
|
"CreateAssetLibraryUseCase",
|
|
"CreateAssetUseCase",
|
|
"CreateGenerationTaskCommand",
|
|
"CreateGenerationTaskUseCase",
|
|
"GetGenerationTaskUseCase",
|
|
"CreateJobCommand",
|
|
"CreateJobUseCase",
|
|
"CreateProjectCommand",
|
|
"CreateProjectUseCase",
|
|
"DeleteDuplicationRecordUseCase",
|
|
"DeleteProjectUseCase",
|
|
"FailJobCommand",
|
|
"FailJobUseCase",
|
|
"GetDuplicationDetailUseCase",
|
|
"GetGeneratedVideoDownloadUrlUseCase",
|
|
"GetGeneratedVideoUseCase",
|
|
"GetVideosByIdsUseCase",
|
|
"GetJobStatisticsUseCase",
|
|
"GetJobUseCase",
|
|
"GetProjectUseCase",
|
|
"ListAssetLibrariesUseCase",
|
|
"ListAssetsUseCase",
|
|
"ListDuplicationRecordsUseCase",
|
|
"ListGeneratedVideosByTaskUseCase",
|
|
"ListGeneratedVideosPaginatedUseCase",
|
|
"ListGeneratedVideosUseCase",
|
|
"ListJobsUseCase",
|
|
"ListProjectsUseCase",
|
|
"RetryDuplicationUseCase",
|
|
"RetryJobUseCase",
|
|
"SubmitClassificationJobCommand",
|
|
"SubmitClassificationJobUseCase",
|
|
"SubmitIngestJobCommand",
|
|
"SubmitIngestJobUseCase",
|
|
"SubmitJobUseCase",
|
|
"UpdateJobProgressCommand",
|
|
"UpdateJobProgressUseCase",
|
|
"UpdateVideoReviewStatusUseCase",
|
|
"UploadForDuplicationCommand",
|
|
"UploadForDuplicationUseCase",
|
|
]
|