Commit Graph

26 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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