CI Test
02992a3fcd
P2-2: Move auth services from domain to application layer
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Move jwt_service.py from packages/domain/auth to packages/application/auth
- Move password_hasher.py from packages/domain/auth to packages/application/auth
- Update all import paths in use cases and tests
2026-06-27 19:23:56 +08:00
XiaoXia Bot
0b990017ca
fix(security): 删除 .env.production 并清理硬编码密码
...
- 删除 .env.production(含占位符密钥,已从版本控制移除)
- scripts/smoke_public_*.py: 密码改为从环境变量 SMOKE_TEST_PASSWORD 读取
- infra/docker/infra.yml: POSTGRES_PASSWORD 改为引用环境变量
- packages/application/auth/jwt_handler.py: 文档示例密钥改为占位符
2026-06-27 18:10:52 +08:00
Audit Bot
2c6d920bcb
fix( #25 ): 移除硬编码 localhost:3000
...
- 添加 APP_BASE_URL 配置项到 Settings
- auth.py 中改用 settings.APP_BASE_URL
- register_user_use_case.py 和 password_reset_use_case.py 移除默认值
- base_url 参数改为必须由调用方传入
- 更新 .env.example 添加 APP_BASE_URL
2026-06-27 17:20:17 +08:00
Audit Bot
627fe0eb8b
fix(#23,#24): 统一 storage_key/file_url 命名和 file_size 类型
...
- AssetModel: 添加 storage_key 字段注释说明为 OSS 对象键
- AssetModel/GeneratedVideoModel: file_size 从 Float 改为 Integer
- 添加 file_url 字段注释说明为完整可访问 URL
- 确保字节数精度,避免浮点数精度问题
2026-06-27 17:20:17 +08:00
Audit Bot
793104c8e7
fix( #12 ): 实现 refresh token 查找功能
...
- 完善 _find_session_by_refresh_token() 方法
- 使用 session_store.get_session_by_refresh_token() 直接查询
- 利用 Redis 反向索引实现 O(1) 查找复杂度
2026-06-27 17:20:17 +08:00
xiaoxia
6ce9a0e67e
Merge pull request 'fix: Redis session env fix + JWT import path fix (登录失败根因修复)' ( #52 ) from hotfix/redis-session-env-fix into develop
2026-06-27 17:18:11 +08:00
xiaoxia
a5c5da50c6
fix: 修复 jwt_service.py 错误的 settings 导入路径导致登录 401
...
- packages.config.settings 模块不存在,改为 from app.config import settings
- 此 bug 导致 JWT token 生成时 ModuleNotFoundError,被 except 捕获后返回通用 401
2026-06-27 17:17:38 +08:00
xiaoxia
a6e85092ce
fix: 统一 ENABLE_REDIS_SESSIONS 命名,修复登录因 AttributeError 导致 500
2026-06-27 17:05:48 +08:00
CI Bot
36e12f77a9
fix: move SmartEditPlanGenerator to domain layer, remove dead workspaces route
2026-06-27 12:44:04 +08:00
CI Bot
44ca36e1a5
fix: remove Workspace from domain __init__ (class removed but import remained)
2026-06-27 12:09:16 +08:00
CI Bot
c98ab4c1ef
feat: decouple API and Worker cross-service dependencies
2026-06-27 10:22:25 +08:00
CI Bot
de4db98982
fix: add lazy jwt_service singleton proxy
2026-06-27 09:54:28 +08:00
CI Bot
f62a050cb0
fix: add missing project_title_repository port
2026-06-27 09:51:37 +08:00
CI Bot
596ea163d7
fix: remove WorkspaceMember entity import from stub
2026-06-27 09:48:56 +08:00
CI Bot
034b147f92
fix: replace workspace_member_repository with stub (no model dependency)
2026-06-27 09:46:42 +08:00
CI Bot
4a8cbd5021
fix: correct dataclass field ordering and create() param order in generated_video and generation_task
...
- Move workspace_id after required fields in both dataclass and create()
- Fix indentation in create() method body
- Add missing timezone import in generation_task.py
2026-06-27 09:44:24 +08:00
CI Bot
11494918eb
fix: resolve all workspace removal breakage - stub permissions, quota, ports, adapters
...
- Remove Workspace from domain/__init__.py exports
- Stub domain/permissions.py (all checks pass)
- Stub domain/quota.py (all checks pass)
- Create missing port stubs: workspace_member_repository, workspace_repository, workspace_invitation_repository
- Create missing adapter stubs: workspace_repository, workspace_invitation_repository
- Create routes/permissions.py stub (require_workspace_member no-op)
- Fix .env Redis URL encoding on production server
2026-06-27 09:16:53 +08:00
CI Bot
38c66a9c68
fix: add workspace_id compatibility for removed workspace concept
2026-06-27 08:43:02 +08:00
CI Bot
60adbf95ce
chore: remove redundant .github/workflows (using Gitea Actions)
2026-06-27 00:41:09 +08:00
CI Test
bd9e9fba45
chore: squash merge feature/voice-dedup into develop (resolve conflicts)
...
- Add voice extraction and deduplication functionality
- Add dedup.py for video deduplication
- Add voice_extraction.py task for worker
- Resolve CI/CD and deploy workflow conflicts with develop version
- Keep new voice dedup features from feature branch
2026-06-26 21:23:39 +08:00
CI Test
cd887909c7
chore: squash merge feature/smart-edit-plan into develop (resolve conflicts)
...
- Resolve CI/CD and deploy workflow conflicts with develop version
- Resolve database and dependencies conflicts with develop version
- Keep new edit plan generator and API functionality from feature branch
2026-06-26 21:21:39 +08:00
xiaoxia
f687b4207f
feat: add download_url field to generated video APIs ( #20 )
2026-06-26 21:13:18 +08:00
xiaoxia
bfbc5855e8
feat: 实现真实素材AI分类和视频质量评估 ( #19 )
2026-06-26 21:11:06 +08:00
xiaoxia
299f42a6aa
feat: 实现四种视频剪辑模式 ( #23 )
2026-06-26 20:58:26 +08:00
xiaoxia
0422967229
refactor: Remove workspace concept - Projects now directly under User
...
BREAKING CHANGES:
- Removed Workspace, WorkspaceMember, WorkspaceInvitation entities
- Project now has owner_user_id instead of workspace_id
- Added shared_users list to Project for collaboration
- Subscription/quota moved from Workspace to User level
Changes:
- packages/domain/entities.py: Removed Workspace entities, updated Project
- packages/adapters/sqlalchemy_impl/models.py: Updated models
- packages/application/: Removed workspace use cases, updated other use cases
- packages/ports/: Removed workspace repository interfaces
- apps/api/: Updated routes, schemas, dependencies, router
- alembic/versions/007_remove_workspace_concept.py: Database migration
New APIs:
- POST /projects/{id}/share: Share project with user
- DELETE /projects/{id}/share/{user_id}: Unshare project
2026-06-26 19:16:54 +08:00
xiaoxia
0e4909e29d
P2-3: workspace_member_repository.py find_by_workspace 方法添加 JOIN 预加载用户数据
2026-06-26 18:36:45 +08:00
xiaoxia
756ac14331
P2-2: 更新 packages/application/auth/__init__.py 导出 JWT 和 Password 委托处理器
2026-06-26 18:36:21 +08:00
xiaoxia
df28dc294f
P2-2: 创建 packages/application/auth/password_handler.py 委托层,隔离 Domain 层对 bcrypt 库的依赖
2026-06-26 18:36:04 +08:00
xiaoxia
e70d328087
P2-2: 创建 packages/application/auth/jwt_handler.py 委托层,隔离 Domain 层对 jwt 库的依赖
2026-06-26 18:35:45 +08:00
xiaoxia
f42e5618ba
Merge pull request 'fix(p1): 修复 4 个 P1 技术债务问题' ( #11 ) from fix/p1-technical-debt into main
2026-06-26 18:13:41 +08:00
Coze Agent
07b5589253
fix(p1): resolve 4 P1 technical debt issues
...
- P1-1: CORS configuration security - use DEBUG mode to differentiate
production vs development CORS settings
- P1-2: Implement token refresh logic in RefreshTokenUseCase
- Add get_session_by_refresh_token to SessionStore
- Verify session validity and expiry
- Generate new access token on refresh
- P1-3: Fix database connection leak in worker ingest task
- Add proper try-except-finally block
- Ensure db.close() is always called
- P1-4: Implement real media metadata extraction
- Use ffprobe for video metadata
- Use Pillow for image metadata
- Return empty dict on failure (no mock data)
2026-06-26 18:11:07 +08:00
xiaoxia
0f22ae862e
fix: resolve CI check failures - format code and fix line length issues
2026-06-26 18:01:01 +08:00
xiaoxia
b326e4a249
fix(P1-2): implement token refresh use case with session verification
2026-06-26 17:52:34 +08:00
xiaoxia
8dd5b691bf
fix(security): P0 - JWTConfig强制注入密钥,禁止无参数实例化
2026-06-26 17:43:35 +08:00
Xiaoxia AI
0f59b412bc
feat(plans): add edit plan preview workflow
2026-06-24 10:10:25 +08:00
Xiaoxia AI
ee6b4a663a
feat(tasks): add project task center
2026-06-24 08:39:32 +08:00
Xiaoxia AI
8acbd6c8a7
feat(results): add generated video management
2026-06-24 06:28:06 +08:00
Xiaoxia AI
b4dbad2e1e
fix(titles): keep selected title ids generation-safe
2026-06-24 01:13:01 +08:00
Xiaoxia AI
17021c351f
feat(titles): complete title selection workflow
2026-06-24 00:55:00 +08:00
Xiaoxia AI
6b66601d67
feat(titles): add project title library
2026-06-24 00:30:58 +08:00
Xiaoxia AI
51eb9381f4
fix(api): support asset library lookup for media guards
2026-06-23 09:44:03 +08:00
Xiaoxia AI
34353506d7
fix(web): restore project workspace context
2026-06-22 13:19:45 +08:00
Xiaoxia AI
ea92092d12
chore(security): triage bandit findings
2026-06-21 13:38:46 +08:00
Xiaoxia AI
3594cc1216
refactor(auth): configure external service adapters
2026-06-21 11:04:07 +08:00
Xiaoxia AI
b78a290bdd
feat(auth): add verification and password reset routes
2026-06-21 10:40:56 +08:00
Xiaoxia AI
9872c20d30
refactor(adapters): remove legacy postgres adapter
2026-06-21 10:11:18 +08:00
Xiaoxia AI
27ea04264f
feat(workspace): restore member management routes
2026-06-21 09:36:08 +08:00
Xiaoxia AI
383151efcb
feat(workspace): restore core routes on sqlalchemy adapters
2026-06-21 09:22:09 +08:00
Xiaoxia AI
93271f7dda
refactor(auth): route simple auth through use cases
2026-06-21 08:22:49 +08:00
Xiaoxia AI
ebae5f51b0
fix(schema): forbid auto create schema in deployed envs
2026-06-21 07:36:46 +08:00