Files
xiaoxia-saas/packages/domain/__init__.py
T
API文档维护Agent 312dad7497 feat: Phase 2 查重后端 API 实现
六边形架构分层实现:

Domain 层:
- DuplicationRecord / DuplicateSegment 实体
- 状态机生命周期 (pending→processing→completed/failed)

Ports 层:
- DuplicationRecordRepository Protocol

Adapters 层:
- SQLAlchemyDuplicationRecordRepository 完整实现
- DuplicationRecordModel / DuplicationSegmentModel ORM 模型

Application 层:
- UploadForDuplicationUseCase (上传查重)
- ListDuplicationRecordsUseCase (记录列表)
- GetDuplicationDetailUseCase (详情查询)
- DeleteDuplicationRecordUseCase (删除)
- RetryDuplicationUseCase (重新查重)

API 层:
- POST /api/v1/duplication/upload (上传视频查重)
- GET /api/v1/duplication/records (记录列表)
- GET /api/v1/duplication/records/{id} (详情含片段)
- DELETE /api/v1/duplication/records/{id} (删除)
- POST /api/v1/duplication/records/{id}/retry (重新查重)

Alembic 迁移:
- 011_add_duplication_tables.py (duplication_records + duplication_segments)

API 契约与前端 feat/phase2-duplication-ui (PR#75) 完全对齐。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-28 16:12:46 +08:00

48 lines
1.1 KiB
Python

"""Domain package for core business entities and rules."""
from .classification import (
AssetClassification,
ClassificationJob,
ClassificationJobStatus,
)
from .editing_mode import EditingMode
from .entities import (
Asset,
AssetLibrary,
AssetLibraryKind,
AssetStatus,
ClassificationStatus,
IngestJob,
IngestJobStatus,
Project,
User,
)
from .duplication import DuplicateSegment, DuplicationRecord
from .generated_video import GeneratedVideo
from .generation_task import GenerationTask, GenerationTaskStatus
from .title_library import TitleLibraryItem
from .voice_library import VoiceLibraryItem
__all__ = [
"Asset",
"AssetClassification",
"AssetLibrary",
"AssetLibraryKind",
"AssetStatus",
"ClassificationJob",
"ClassificationJobStatus",
"ClassificationStatus",
"DuplicateSegment",
"DuplicationRecord",
"EditingMode",
"GeneratedVideo",
"GenerationTask",
"GenerationTaskStatus",
"IngestJob",
"IngestJobStatus",
"Project",
"User",
"TitleLibraryItem",
"VoiceLibraryItem",
]