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

8.1 KiB
Raw Blame History

API 主线清单(2026-06-19)

本文档列出当前 SaaS 项目所有 active API endpoints。
状态:✅ ACTIVE | 🧪 EXPERIMENTAL | ⚠️ DEPRECATED


一、认证相关(Auth)

路由前缀: /api/v1/auth
文件: apps/api/app/api/routes/auth.py

Method Path 功能 状态
POST /register 用户注册 ✅ ACTIVE
POST /login 用户登录 ✅ ACTIVE
POST /logout 用户登出 ✅ ACTIVE
GET /verify-email 邮箱验证 ✅ ACTIVE
POST /password/forgot 忘记密码 ✅ ACTIVE
POST /password/reset 重置密码 ✅ ACTIVE

Use Cases:

  • RegisterUserUseCase
  • LoginUseCase
  • LogoutUseCase
  • VerifyEmailUseCase
  • RequestPasswordResetUseCase
  • ResetPasswordUseCase

二、工作空间(Workspaces)

路由前缀: /api/v1/workspaces
文件: apps/api/app/api/routes/workspaces.py

Method Path 功能 状态
POST / 创建工作空间 ✅ ACTIVE
GET / 列出用户的工作空间 ✅ ACTIVE
GET /{workspace_id} 获取工作空间详情 ✅ ACTIVE
POST /{workspace_id}/members/invite 邀请成员 ✅ ACTIVE
GET /{workspace_id}/members 列出成员 ✅ ACTIVE
DELETE /{workspace_id}/members/{user_id} 移除成员 ✅ ACTIVE
POST /{workspace_id}/leave 离开工作空间 ✅ ACTIVE
PATCH /{workspace_id}/members/{user_id}/role 更新成员角色 ✅ ACTIVE
POST /{workspace_id}/subscription/upgrade 升级订阅 ✅ ACTIVE
POST /{workspace_id}/subscription/cancel 取消订阅 ✅ ACTIVE
GET /{workspace_id}/quota 查询配额 ✅ ACTIVE
POST /invitations/{token}/accept 接受邀请 ✅ ACTIVE
POST /invitations/{token}/decline 拒绝邀请 ✅ ACTIVE

Use Cases:

  • CreateWorkspaceUseCase
  • ListWorkspacesUseCase
  • InviteMemberUseCase
  • ListMembersUseCase
  • RemoveMemberUseCase
  • UpdateMemberRoleUseCase
  • SubscriptionUseCase
  • AcceptInvitationUseCase

三、项目管理(Projects)

路由前缀: /api/v1/projects
文件: apps/api/app/api/routes/projects.py

Method Path 功能 状态
GET / 列出项目 ✅ ACTIVE
POST / 创建项目 ✅ ACTIVE

Use Cases:

  • CreateProjectUseCase
  • ListProjectsUseCase

四、素材管理(Assets)

4.1 素材库(Asset Libraries)

路由前缀: /api/v1/asset-libraries
文件: apps/api/app/api/routes/asset_libraries.py

Method Path 功能 状态
GET / 列出素材库 ✅ ACTIVE
POST / 创建素材库 ✅ ACTIVE

Use Cases:

  • CreateAssetLibraryUseCase
  • ListAssetLibrariesUseCase

4.2 素材(Assets)

路由前缀: /api/v1/assets
文件: apps/api/app/api/routes/assets.py

Method Path 功能 状态
GET / 列出素材 ✅ ACTIVE
POST / 创建素材 ✅ ACTIVE

Use Cases:

  • CreateAssetUseCase
  • ListAssetsUseCase

4.3 上传(Upload)

路由前缀: /api/v1/upload
文件: apps/api/app/api/routes/upload.py

Method Path 功能 状态
POST / 上传文件 ✅ ACTIVE

Use Cases / Services:

  • SubmitIngestJobUseCase
  • OSSStorageService(经 get_storage_service 注入)

五、素材处理(Asset Processing)

5.1 Ingest Jobs

路由前缀: /api/v1/ingest-jobs
文件: apps/api/app/api/routes/ingest_jobs.py

Method Path 功能 状态
GET /{job_id} 获取任务状态 ✅ ACTIVE
POST / 创建任务 ✅ ACTIVE

Use Cases:

  • CreateIngestJobUseCase
  • GetIngestJobUseCase

5.2 Classification Jobs

路由前缀: /api/v1/classification-jobs
文件: apps/api/app/api/routes/classification_jobs.py

Method Path 功能 状态
GET /{job_id} 获取分类任务状态 ✅ ACTIVE
POST / 创建分类任务 ✅ ACTIVE

Use Cases:

  • CreateClassificationJobUseCase
  • GetClassificationJobUseCase

六、视频生成(Video Generation)

6.1 生成任务(Generation Tasks)

路由前缀: /api/v1/generation
文件: apps/api/app/api/routes/generation_tasks.py

Method Path 功能 状态
POST /tasks 创建生成任务 ✅ ACTIVE
GET /tasks/{task_id} 获取任务状态 ✅ ACTIVE
GET /tasks/{task_id}/results 获取生成结果列表 ✅ ACTIVE

Use Cases:

  • CreateGenerationTaskUseCase
  • GetGenerationTaskUseCase
  • ListGenerationTaskResultsUseCase

6.2 生成结果(Generated Videos)

路由前缀: /api/v1/generated-videos
文件: apps/api/app/api/routes/generated_videos.py

Method Path 功能 状态
GET / 列出生成结果 ✅ ACTIVE
GET /{video_id} 获取单个结果 ✅ ACTIVE
GET /{video_id}/download-url 获取下载链接 ✅ ACTIVE

Use Cases:

  • ListGeneratedVideosUseCase
  • GetGeneratedVideoUseCase
  • GetGeneratedVideoDownloadUrlUseCase

七、项目管理高级功能(Project Management)

路由前缀: /api/v1/project-management
文件: apps/api/app/api/routes/project_management.py

Method Path 功能 状态
POST /tasks 创建任务 ✅ ACTIVE
GET /tasks 列出任务 ✅ ACTIVE
GET /tasks/{task_id} 获取任务详情 ✅ ACTIVE
PATCH /tasks/{task_id} 更新任务 ✅ ACTIVE
PATCH /tasks/{task_id}/status 更新任务状态 ✅ ACTIVE
PATCH /tasks/{task_id}/progress 更新任务进度 ✅ ACTIVE
POST /milestones 创建里程碑 ✅ ACTIVE
GET /milestones 列出里程碑 ✅ ACTIVE
POST /issues 创建问题 ✅ ACTIVE
GET /issues 列出问题 ✅ ACTIVE
PATCH /issues/{issue_id}/resolve 解决问题 ✅ ACTIVE

Use Cases:

  • CreateTaskUseCase
  • ListTasksUseCase
  • GetTaskUseCase
  • UpdateTaskUseCase
  • UpdateTaskStatusUseCase
  • UpdateTaskProgressUseCase
  • CreateMilestoneUseCase
  • ListMilestonesUseCase
  • CreateTaskIssueUseCase
  • ListTaskIssuesUseCase
  • ResolveTaskIssueUseCase

八、健康检查(Health)

路由前缀: /api/v1
文件: apps/api/app/api/routes/health.py

Method Path 功能 状态
GET /health 健康检查 ✅ ACTIVE
GET /ready 就绪检查 ✅ ACTIVE
GET /startup 启动检查 ✅ ACTIVE

九、主线路径总结

Phase 7 核心路径(视频剪辑主链)

上传素材
  ↓
POST /api/v1/upload

创建 Asset
  ↓
POST /api/v1/assets

发起分类
  ↓
POST /api/v1/classification-jobs

创建生成任务
  ↓
POST /api/v1/generation/tasks

查询生成结果
  ↓
GET /api/v1/generation/tasks/{task_id}/results

获取下载链接
  ↓
GET /api/v1/generated-videos/{video_id}/download-url

当前主线技术栈

  • 领域层: packages/domain/entities.py
  • 应用层: packages/application/*.py
  • 持久化: packages/adapters/sqlalchemy_impl/*.py
  • API: apps/api/app/api/routes/*.py
  • Worker: apps/worker/tasks.py

十、兼容层标注

以下文件为兼容层,保留但不再是主线:

  • packages/domain/asset.py - [COMPAT] 兼容旧素材模型
  • packages/domain/asset_library.py - [COMPAT] 兼容旧素材库模型
  • packages/ports/asset_repository.py - [COMPAT] 兼容旧仓储接口
  • packages/ports/asset_library_repository.py - [COMPAT] 兼容旧仓储接口

已删除的历史兼容层:

  • packages/adapters/postgres/* - 旧 psycopg adapter 已删除,持久化主线统一为 packages/adapters/sqlalchemy_impl/*

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