灵应
8935196fcd
style: 后端代码black格式化
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 138h4m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 138h4m39s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 138h4m39s
2026-07-03 18:49:54 +08:00
灵应
ee5b3ece7b
chore: 清理后端 workspace 残留代码
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Staging E2E Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Failing after 140h9m10s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 140h9m10s
- 删除 email_service.py 中 send_workspace_invitation_email 方法(NoopEmailService + EmailService)
- 更新 auth.py 中间件注释,移除 workspace 引用
- 更新 packages/domain/permissions.py 注释
- 删除空的 routes/permissions.py 文件
项目创建链路已验证完全独立于 workspace,无功能性影响。
2026-07-03 16:45:19 +08:00
CI Test
a4991628be
fix(security): /metrics 端点添加 Bearer Token 认证
...
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Failing after 148h21m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 148h21m22s
- 通过 METRICS_AUTH_TOKEN 环境变量配置认证 Token
- 未配置 Token 时不启用认证(向后兼容)
- 认证失败返回 401 Unauthorized
2026-07-03 08:32:49 +08:00
CI Test
c1a89ae221
fix(security): 注册登录接口 RateLimitMiddleware 防止暴力破解
...
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Failing after 148h23m2s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 148h23m8s
- RateLimitMiddleware 增加 paths 参数支持路径过滤
- 在 main.py 注册登录限流:每 IP 每分钟最多 10 次
- 仅针对 /api/v1/auth/login 路径
2026-07-03 08:29:52 +08:00
CI Test
abfc598d3f
refactor: 代码精简优化 - 移除无用代码和重复定义
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 156h9m36s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 156h9m43s
1. 删除无用文件:
- apps/api/app/core/database.py (未被引用的死代码)
- requirements-quality.txt (与 requirements-dev.txt 完全重复)
- fix_script.py, fix_tracker_encoding.py (一次性修复脚本)
- init_tracker_phase4.py, init_tracker_simple.py, update_tracker.py (SQLite迁移脚本)
2. 清理死代码:
- apps/api/app/db.py: 移除未使用的 get_db() 函数和 sqlalchemy.orm 导入
- 11个路由/中间件文件: 移除未使用的 import (os, datetime, BaseModel, Session, List 等)
3. 消除重复定义:
- apps/worker/video_processing/video_compose_service.py: 移除重复的 EditingMode 枚举
- 改为从 packages.domain.editing_mode 导入统一的 EditingMode
影响: 无功能变更,仅移除未使用的代码
2026-07-03 00:44:29 +08:00
xiaoxia
1217d8cef0
style: apply isort formatting to pass CI validation ( #129 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h35m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h36m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h36m17s
2026-06-30 18:17:44 +08:00
xiaoxia
52ff2f80ad
style: apply black formatting to pass CI validation ( #126 )
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-30 17:23:08 +08:00
CI Test
28733d6fc7
feat(api): add Prometheus metrics middleware and /metrics endpoint
...
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
- Add prometheus-client==0.21.1 to requirements.txt
- Create PrometheusMetricsMiddleware to track HTTP request duration, count, and in-progress requests
- Add /metrics endpoint for Prometheus scraping
- Exclude health/ready/startup/metrics paths from recording to reduce noise
2026-06-28 08:32:28 +08:00
API文档维护Agent
e3fb518ab2
refactor: remove all workspace_id references from codebase
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Remove workspace_id from Pydantic models in project_management routes
- Remove workspace_id from SQLAlchemy and SQLite project management repos
- Remove workspace_id from worker tasks (storage keys, entity creation)
- Remove workspace_id from video dedup and title usage modules
- Remove workspace_id from generation and ingest worker tasks
- Clean workspace_id from all test files and scripts
- Remove workspace-specific test files (list_workspaces, workspace repos)
Task: #14 workspace_id 残留清理
2026-06-27 22:52:09 +08:00
xiaoxia
f687b4207f
feat: add download_url field to generated video APIs ( #20 )
2026-06-26 21:13:18 +08:00
Xiaoxia AI
383151efcb
feat(workspace): restore core routes on sqlalchemy adapters
2026-06-21 09:22:09 +08:00
Xiaoxia AI
a912e17868
refactor(auth): replace legacy middleware sentinel
2026-06-21 09:06:22 +08:00
Xiaoxia AI
bfbaddbd9a
style: normalize python formatting gates
2026-06-21 06:52:19 +08:00
Xiaoxia AI
a33bead056
refactor(api): quarantine legacy container routes
2026-06-21 00:37:42 +08:00
Xiaoxia AI
c23922faab
feat(api): add API versioning and deprecation strategy
...
- Implement API version management middleware
- Add version lifecycle management (dev/stable/maintenance/deprecated/sunset)
- Add deprecation warning headers (X-API-Deprecated, X-API-Sunset-Date)
- Add version tracking headers (X-API-Version)
- Handle sunset versions with 410 Gone response
- Comprehensive API versioning documentation
- Include migration guide and best practices
- Support gradual version rollout
Phase 4 Task 44/68 completed
2026-06-17 08:41:11 +08:00
Xiaoxia AI
ca0292e37f
feat(monitoring): add performance monitoring and enhanced logging
...
- Add PerformanceMonitoringMiddleware for request tracking
- Generate unique request ID for each request
- Log slow requests (threshold configurable, default 1s)
- Add DatabaseQueryLogger for slow query detection
- Add X-Request-ID and X-Process-Time headers
- Comprehensive performance monitoring documentation
- Include optimization strategies and best practices
Phase 4 Task 42/68 completed
2026-06-17 08:36:11 +08:00
Xiaoxia AI
c11a431a8d
feat(middleware): add comprehensive error handling and logging
...
- Add APIException with custom error codes
- Implement global exception handlers (API/HTTP/Validation/General)
- Add RequestLoggingMiddleware with response time tracking
- Add RateLimitMiddleware (in-memory rate limiting)
- Integrate all middleware into main app
- Return consistent JSON error responses
- Add X-Process-Time and X-RateLimit headers
Phase 4 Task 33/68 completed
2026-06-17 08:14:47 +08:00
Xiaoxia AI
0abfc98be0
feat(api): add dependency injection container and auth middleware
...
- Implement DependencyContainer for all repositories and use cases
- Create singleton pattern for repository instances
- Factory methods for all use cases (auth + workspace)
- Auth middleware: get_current_user with JWT verification
- Permission middleware: require_workspace_access/admin/owner
- Support optional authentication (get_current_user_optional)
- Integrate with PermissionChecker and QuotaChecker
Phase 4 Task 25/68 completed
2026-06-17 07:30:09 +08:00