Xiaoxia AI
d25bd753a2
refactor(api): guard route adapter boundaries
2026-06-21 02:02:55 +08:00
Xiaoxia AI
a33bead056
refactor(api): quarantine legacy container routes
2026-06-21 00:37:42 +08:00
Xiaoxia AI
a3fe72a65f
refactor(config): centralize api settings source
2026-06-21 00:36:13 +08:00
Xiaoxia AI
57310f33d4
fix(auth): harden simple auth and router imports
2026-06-21 00:27:58 +08:00
Xiaoxia AI
1e3a52fa17
fix(worker): persist generated mp4 without oss
2026-06-20 23:17:52 +08:00
Xiaoxia AI
d31c62d4e2
fix(deploy): align deployment with split infrastructure
2026-06-20 19:02:48 +08:00
Xiaoxia AI
94dd60108c
refactor: 彻底迁移到阿里云 OSS 并重构基础设施
...
- 删除 MinIO 依赖,改用阿里云 OSS (oss2)
- 重写存储服务 storage.py(完全兼容原接口)
- 更新配置:config.py 改为 OSS_* 配置项
- 重构 Docker Compose:分离基础设施(infra.yml)和应用(compose.yml)
- 添加健康检查和自动重启配置
- 创建标准化部署脚本(init-server.sh + deploy.sh)
- 统一 Nginx 配置(主域名 api.xiaoxiajianji.com)
- 修复 Web Dockerfile 端口映射(80 not 3000)
服务器清理完成:
- 删除旧云控制台、监控系统、桌面版代码
- 删除 2.6GB 旧安装包
- 清理 Docker 缓存 2.5GB
- 磁盘使用率从 48% 降至 26%
2026-06-20 15:24:24 +08:00
Xiaoxia AI
3002160ad4
feat: 添加简化版认证API和配置文件
2026-06-20 11:29:46 +08:00
Xiaoxia AI
8493471c19
feat(project-d): implement real video generation pipeline with FFmpeg
2026-06-19 10:54:20 +08:00
Xiaoxia AI
5e047972cd
fix(phase7): resolve remaining TODOs - session_id in JWT and repository injection
2026-06-19 09:47:20 +08:00
Xiaoxia AI
642d01eee4
feat(phase7): prefer presigned generated video downloads
2026-06-18 20:49:31 +08:00
Xiaoxia AI
3d6b90c022
feat(phase7): add generated video download endpoint
2026-06-18 20:33:14 +08:00
Xiaoxia AI
58ab98689f
feat(phase7): trigger generation worker from API
2026-06-18 20:13:08 +08:00
Xiaoxia AI
758c2c7e13
feat(phase7): align asset flow and scaffold generation pipeline
2026-06-18 19:59:37 +08:00
Xiaoxia AI
8d78798a7d
fix(phase7): align api runtime wiring for integration
2026-06-17 18:48:08 +08:00
Xiaoxia AI
db1ebc4e9d
feat(phase7): add asset classification workflow
2026-06-17 18:29:48 +08:00
Xiaoxia AI
8aeb46aded
feat(phase7): wire asset upload and ingest flow
2026-06-17 18:14:35 +08:00
Xiaoxia AI
edeab83f17
fix: connect API to tracker.db via SQLite repository
2026-06-17 13:21:38 +08:00
Xiaoxia AI
e86dde7445
fix(health): register health check routes correctly
...
- Register health_router at root path (no /api/v1 prefix)
- Health endpoints: /health, /ready, /startup
- API endpoints remain at /api/v1/*
- Update route imports and registration
Phase 4 Task 45/68 fully completed
2026-06-17 08:43:17 +08:00
Xiaoxia AI
082ad20913
feat(health): add comprehensive health check endpoints
...
- Add /health endpoint for liveness probe (fast, no dependencies)
- Add /ready endpoint for readiness probe (checks database + redis)
- Add /startup endpoint for startup probe (checks migrations)
- Return 503 when not ready/started
- Detailed check results in response
- Include Kubernetes/Docker/Nginx configuration examples
- Add comprehensive health check documentation
- Include monitoring and alerting setup
Phase 4 Task 45/68 completed
2026-06-17 08:42:56 +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
81aaef4fb9
feat(config): add environment configuration management
...
- Add comprehensive environment configuration guide
- Create .env.development for development setup
- Create .env.production.example as production template
- Add LOG_LEVEL configuration to Settings
- Add .env.production to .gitignore
- Support multiple environments: dev/test/staging/prod
- Include security best practices and checklists
Phase 4 Task 43/68 completed
2026-06-17 08:38:13 +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
ab954991b9
feat(repository): add PostgreSQL WorkspaceInvitation repository
...
- Implement PostgresWorkspaceInvitationRepository with full CRUD
- Support find_by_token, find_by_email, find_pending_by_email
- Auto-select implementation based on USE_IN_MEMORY_DB config
- Update DependencyContainer to support both InMemory and PostgreSQL
- Complete all PostgreSQL repository implementations
Phase 4 Task 38/68 completed
2026-06-17 08:32:24 +08:00
Xiaoxia AI
015fe3d507
feat(config): add database switch between InMemory and PostgreSQL
...
- Add USE_IN_MEMORY_DB config flag
- Auto-select repository implementation based on config
- InMemory: for development and testing (no setup needed)
- PostgreSQL: for production (persistent data)
- Update DependencyContainer to support both
- Add documentation for switching databases
- Update .env.example with new config
Phase 4 Task 36/68 completed
2026-06-17 08:25:20 +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
37836b2755
feat(app): add FastAPI main application and configuration
...
- Create main.py with CORS and GZip middleware
- Add Settings class with all configuration options
- Support .env file for environment variables
- Add health check and root endpoints
- Create comprehensive README with quick start guide
- Add .env.example template
- Include API usage examples and troubleshooting
Phase 4 Task 30/68 completed
2026-06-17 07:42:22 +08:00
Xiaoxia AI
ca798703af
feat(api): implement complete workspace API routes
...
- Workspace CRUD: create/list/get_detail
- Member management: invite/list/remove/leave/update_role
- Invitation flow: accept/decline
- Subscription: upgrade/cancel
- Quota status: get usage info
- Connect all 13 endpoints to use cases
- Add proper authentication and permission checks
- Return structured JSON responses
Phase 4 Task 27/68 completed
2026-06-17 07:34:10 +08:00
Xiaoxia AI
11e3761e23
feat(api): implement auth API routes with use case integration
...
- Connect all auth routes to use cases via dependency container
- Implement register endpoint (email + password + username)
- Implement login endpoint (JWT token generation)
- Implement logout endpoint (single device / all devices)
- Implement email verification endpoint
- Implement password reset flow (request + reset)
- Add proper error handling and HTTP status codes
- Security: return 202 for forgot password even if email not exists
Phase 4 Task 26/68 completed
2026-06-17 07:31:21 +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
Xiaoxia AI
381ffb4ee9
feat(api): add API route structure and endpoint definitions
...
- Create auth routes (register/login/logout/verify/password-reset)
- Create workspace routes (CRUD/members/subscription/quota)
- Define Pydantic request/response models
- Add comprehensive API documentation in docstrings
- Setup dependency injection placeholders
- Include all 18+ endpoints with proper HTTP methods
Phase 4 Task 24/68 completed
2026-06-17 07:27:35 +08:00
Xiaoxia AI
1ef746e249
fix: remove prefix from project_management router to match other routes
2026-06-16 22:51:00 +08:00
Xiaoxia AI
415b180c5d
fix: remove duplicate api/v1 prefix in project-management routes
2026-06-16 22:11:41 +08:00
Xiaoxia AI
42ee07b3c7
fix: add missing prefix for project-management router
2026-06-16 22:04:16 +08:00
Xiaoxia AI
9fe0614d43
feat: add deployment configs, systemd service, and tracker init scripts
2026-06-16 22:01:24 +08:00
Xiaoxia AI
3cdb2a0230
feat: complete all backend endpoints and frontend features
...
Backend:
- UpdateTaskUseCase for editing task basic info
- PATCH /tasks/{id} endpoint for task updates
- UpdateTaskRequest model with optional fields
- Full CRUD operations for tasks
Frontend:
- EditTaskForm now uses real API (PATCH /tasks/{id})
- Task detail page shows edit form when edit button clicked
- Status/progress update with real-time API calls
- Issue resolution with real-time refresh
- All forms integrated with backend
Tests:
- Added test_update_task for partial and full updates
- 9 integration tests passing (was 8)
- Full coverage of task CRUD operations
All features complete and tested!
2026-06-16 13:12:00 +08:00
Xiaoxia AI
7803be3f11
feat: add GET task detail endpoint and use case
...
- GetTaskDetailUseCase for single task retrieval
- GET /api/v1/project-management/tasks/{task_id} endpoint
- Updated task detail page to use real API
- Added integration test for task detail retrieval
- Test passed: 1 new test green
2026-06-16 12:55:33 +08:00
Xiaoxia AI
c92cf78ea1
feat: add project management module (tasks, milestones, issues)
...
- Domain: Task, Milestone, TaskIssue entities with business logic
- Ports: TaskRepository, MilestoneRepository, TaskIssueRepository interfaces
- Adapters: In-Memory and SQLAlchemy implementations
- Application: Use cases for task/milestone/issue operations
- API: FastAPI routes for project management
- Database: Alembic migration 002 for new tables
- Tests: 7 integration tests all passing
2026-06-16 11:02:06 +08:00
Xiaoxia AI
acfa82b995
fix: serialize schema init for postgres
2026-06-15 19:41:57 +08:00
Xiaoxia AI
f0ee5c6184
feat: persist ingest flow in postgres
2026-06-15 19:34:47 +08:00
Xiaoxia AI
c6e6213209
fix: decouple api from worker package imports
2026-06-15 18:59:58 +08:00
Xiaoxia AI
07c5ad0e22
fix: remove stale upload request schema export
2026-06-15 18:57:50 +08:00
Xiaoxia AI
4475677763
chore: wire deployment to environment-based configuration
2026-06-15 18:40:56 +08:00
Xiaoxia AI
36126b47d7
chore: add production environment configuration system
2026-06-15 18:32:05 +08:00
Xiaoxia AI
0f16fa600f
docs: add comprehensive API documentation with Swagger
Tests / test (push) Failing after 30s
Tests / lint (push) Failing after 30s
2026-06-15 18:22:10 +08:00
Xiaoxia AI
ba159549e2
feat: integrate MinIO for real file storage
Tests / test (push) Failing after 30s
Tests / lint (push) Failing after 30s
2026-06-15 18:19:12 +08:00
Xiaoxia AI
e4e2595e70
feat: add PostgreSQL persistence layer
...
- adapters: SQLAlchemy implementations for all 4 repositories (Project, AssetLibrary, Asset, IngestJob)
- models: SQLAlchemy ORM models with proper schema
- database: connection config and session management
- tests: SQLAlchemy repository integration test (in-memory SQLite)
- all 7 integration tests passing
2026-06-15 15:29:13 +08:00
Xiaoxia AI
d5504166ff
feat: add upload asset endpoint
...
- API: POST /api/upload endpoint (mock storage, real ingest pipeline trigger)
- schemas: UploadAssetRequest, UploadAssetResponse
- tests: full upload→ingest→asset pipeline test
- all 6 integration tests passing
2026-06-15 15:23:53 +08:00
Xiaoxia AI
43fd071e3b
feat: implement ingest asset worker task
...
- worker: real ingest_asset logic (metadata extraction mock, Asset creation, IngestJob status update)
- API: ingest_jobs route now enqueues async task via ingest_asset.delay()
- tests: full ingest pipeline test (submit -> process -> verify asset + job status)
- all 5 integration tests passing
2026-06-15 15:20:58 +08:00
Xiaoxia AI
b5a62ee9a3
feat: initial SaaS scaffold
...
- domain: User, Workspace, Project, AssetLibrary, Asset, IngestJob
- ports: repository interfaces
- application: use cases
- adapters: in-memory
- API: FastAPI 5 routes
- worker: Celery ingest_asset
- tests: 4 passing
2026-06-15 15:17:40 +08:00