Files
xiaoxia-saas/docs/CODE-STATUS.md
T
2026-06-21 11:29:33 +08:00

10 KiB
Raw Blame History

代码状态标注(2026-06-19

本文档标注仓库中所有代码的当前状态,便于快速识别主线、兼容层、待迁移代码。


状态标签说明

  • ACTIVE - 当前主线代码,正在活跃使用
  • 🔄 COMPAT - 兼容层,为了向后兼容保留,但不是主线
  • ⚠️ DEPRECATED - 已废弃,计划删除
  • 🚧 MIGRATE - 待迁移到新主线
  • 🧪 EXPERIMENTAL - 实验性功能

一、领域层(Domain

ACTIVE - 当前主线

packages/domain/
├── entities.py                 ✅ 主领域模型(Asset, AssetLibrary, GenerationTask, GeneratedVideo
├── classification.py           ✅ 分类相关领域模型
├── project_management.py       ✅ 项目管理领域模型
├── user.py                     ✅ 用户领域模型
├── permissions.py              ✅ 权限领域模型
├── quota.py                    ✅ 配额领域模型
└── auth/                       ✅ 认证领域服务
    ├── jwt_service.py
    ├── password_hasher.py
    ├── session_store.py
    └── email_service.py

🔄 COMPAT - 兼容层

packages/domain/
├── asset.py                    🔄 旧素材模型,仅用于兼容
├── asset_library.py            🔄 旧素材库模型,仅用于兼容
└── generated_video.py          ✅ 实际已是主线,非兼容层

二、应用层(Application

ACTIVE - 当前主线

packages/application/
├── assets.py                   ✅ 素材用例
├── asset_libraries.py          ✅ 素材库用例
├── classification_jobs.py      ✅ 分类任务用例
├── ingest_jobs.py              ✅ 摄入任务用例
├── generation_tasks.py         ✅ 生成任务用例
├── generated_videos.py         ✅ 生成结果用例
├── projects.py                 ✅ 项目用例
├── auth/                       ✅ 认证用例
│   ├── login_use_case.py
│   ├── register_user_use_case.py
│   └── password_reset_use_case.py
└── workspace/                  ✅ 工作空间用例
    ├── create_workspace_use_case.py
    ├── invite_member_use_case.py
    └── subscription_use_case.py

三、仓储接口(Ports

ACTIVE - 当前主线

packages/ports/
├── classification_job_repository.py    ✅ 分类任务仓储接口
├── ingest_job_repository.py            ✅ 摄入任务仓储接口
├── generation_task_repository.py       ✅ 生成任务仓储接口
├── generated_video_repository.py       ✅ 生成结果仓储接口
├── project_repository.py               ✅ 项目仓储接口
├── user_repository.py                  ✅ 用户仓储接口
├── workspace_repository.py             ✅ 工作空间仓储接口
├── workspace_member_repository.py      ✅ 工作空间成员仓储接口
└── workspace_invitation_repository.py  ✅ 工作空间邀请仓储接口

🔄 COMPAT - 兼容层

packages/ports/
├── asset_repository.py                 🔄 旧素材仓储接口,仅用于兼容
└── asset_library_repository.py         🔄 旧素材库仓储接口,仅用于兼容

四、适配器(Adapters

ACTIVE - 当前主线(SQLAlchemy

packages/adapters/sqlalchemy_impl/
├── __init__.py
├── session.py                          ✅ 数据库会话管理
├── models.py                           ✅ SQLAlchemy 模型
├── asset_repository.py                 ✅ 素材仓储实现
├── asset_library_repository.py         ✅ 素材库仓储实现
├── classification_job_repository.py    ✅ 分类任务仓储实现
├── ingest_job_repository.py            ✅ 摄入任务仓储实现
├── generation_task_repository.py       ✅ 生成任务仓储实现
├── generated_video_repository.py       ✅ 生成结果仓储实现
└── project_repository.py               ✅ 项目仓储实现

ACTIVE - 测试用(In-Memory

packages/adapters/in_memory/
├── asset_repository.py                 ✅ 测试用内存实现
├── asset_library_repository.py         ✅ 测试用内存实现
├── classification_job_repository.py    ✅ 测试用内存实现
├── ingest_job_repository.py            ✅ 测试用内存实现
├── user_repository.py                  ✅ 测试用内存实现
├── workspace_repository.py             ✅ 测试用内存实现
├── workspace_member_repository.py      ✅ 测试用内存实现
└── workspace_invitation_repository.py  ✅ 测试用内存实现

REMOVED - Postgres 旧实现

packages/adapters/postgres/ 旧 psycopg adapter 已删除。

说明: SQLAlchemy 是当前唯一主线持久化 adapter,位于 packages/adapters/sqlalchemy_impl/。不要恢复旧 packages/adapters/postgres/*;架构守卫会阻止运行时代码重新引用 packages.adapters.postgresPostgres* 路径。


五、API 层

ACTIVE - 当前主线

apps/api/app/api/routes/
├── health.py                   ✅ 健康检查
├── auth.py                     ✅ 认证相关
├── workspaces.py               ✅ 工作空间
├── projects.py                 ✅ 项目
├── upload.py                   ✅ 文件上传
├── assets.py                   ✅ 素材管理
├── asset_libraries.py          ✅ 素材库管理
├── ingest_jobs.py              ✅ 摄入任务
├── classification_jobs.py      ✅ 分类任务
├── generation_tasks.py         ✅ 生成任务
├── generated_videos.py         ✅ 生成结果
└── project_management.py       ✅ 项目管理高级功能

六、Worker 层

ACTIVE - 当前主线

apps/worker/
├── celery_app.py               ✅ Celery 应用
├── tasks.py                    ✅ 生成任务(主入口)
└── worker_app/
    ├── db.py                   ✅ 数据库会话
    └── tasks/
        ├── health.py           ✅ 健康检查任务
        ├── ingest.py           ✅ 摄入任务
        └── classification.py   ✅ 分类任务

七、测试层

ACTIVE - 当前主线测试

tests/integration/
├── test_asset_tags.py          ✅ 素材标签测试
├── test_ingest_pipeline.py     ✅ 摄入流程测试
├── test_upload_pipeline.py     ✅ 上传流程测试
├── test_classification_pipeline.py  ✅ 分类流程测试
├── test_generation_pipeline.py ✅ 生成流程测试
└── test_projects.py            ✅ 项目测试

ACTIVE - 单元测试

tests/unit/
├── test_jwt_service.py                     ✅ JWT 服务测试
├── test_password_hasher.py                 ✅ 密码哈希测试
├── test_session_store.py                   ✅ 会话存储测试
├── test_email_service.py                   ✅ 邮件服务测试
├── test_permissions.py                     ✅ 权限测试
├── test_quota.py                           ✅ 配额测试
├── test_login_use_case.py                  ✅ 登录用例测试
├── test_register_user_use_case.py          ✅ 注册用例测试
├── test_password_reset_use_case.py         ✅ 密码重置用例测试
├── test_create_workspace_use_case.py       ✅ 创建工作空间用例测试
├── test_invite_member_use_case.py          ✅ 邀请成员用例测试
├── test_accept_invitation_use_case.py      ✅ 接受邀请用例测试
├── test_list_members_use_case.py           ✅ 列出成员用例测试
├── test_remove_member_use_case.py          ✅ 移除成员用例测试
├── test_update_member_role_use_case.py     ✅ 更新成员角色用例测试
├── test_list_workspaces_use_case.py        ✅ 列出工作空间用例测试
└── test_subscription_use_case.py           ✅ 订阅用例测试

🚧 MIGRATE - 待更新测试

tests/unit/
└── test_api.py                 🚧 需要按新主线重写

八、前端层

ACTIVE - 当前主线

apps/web/src/
├── api/
│   ├── client.ts               ✅ API 客户端
│   ├── auth.ts                 ✅ 认证 API
│   ├── workspace.ts            ✅ 工作空间 API
│   ├── projects.ts             ✅ 项目 API
│   ├── assets.ts               ✅ 素材 API
│   ├── generation.ts           ✅ 生成 API
│   └── subscription.ts         ✅ 订阅 API
├── pages/
│   ├── auth/                   ✅ 认证页面
│   ├── workspace/              ✅ 工作空间页面
│   │   ├── ProjectGeneration.tsx   ✅ 生成页
│   │   └── ProjectResults.tsx      ✅ 结果页
│   ├── profile/                ✅ 个人设置页面
│   ├── subscription/           ✅ 订阅页面
│   └── admin/                  ✅ 管理页面
└── hooks/
    ├── useAuth.ts              ✅ 认证 Hook
    └── useWorkspace.ts         ✅ 工作空间 Hook

九、快速定位指南

我想找...

素材上传流程:

apps/api/app/api/routes/upload.py (API)
  ↓
apps/api/app/core/storage.py (OSS / generated-files fallback)
  ↓
packages/domain/entities.py::Asset (领域模型)
  ↓
packages/adapters/sqlalchemy_impl/asset_repository.py (持久化)

视频生成流程:

apps/api/app/api/routes/generation_tasks.py (API)
  ↓
packages/application/generation_tasks.py (用例)
  ↓
apps/worker/tasks.py::generate_video (Worker)
  ↓
packages/adapters/sqlalchemy_impl/generation_task_repository.py (持久化)

用户认证流程:

apps/api/app/api/routes/auth.py (API)
  ↓
packages/application/auth/login_use_case.py (用例)
  ↓
packages/domain/auth/jwt_service.py (JWT)
  ↓
packages/domain/auth/session_store.py (会话)

十、清理计划

可以安全删除(待定)

  • 暂无,所有兼容层目前仍保留

需要迁移到新主线

  • 无待迁移代码

需要补充测试

  • test_api.py 需要按新主线重写

维护人: 小虾 🦐
最后更新: 2026-06-19 10:10 GMT+8