1 Commits

Author SHA1 Message Date
Yaojia Wang
58e08f9fa7 feat(backend): Implement Sprint CQRS Commands and Queries (Task 3)
Some checks failed
Code Coverage / Generate Coverage Report (push) Has been cancelled
Tests / Run Tests (9.0.x) (push) Has been cancelled
Tests / Docker Build Test (push) Has been cancelled
Tests / Test Summary (push) Has been cancelled
Implemented comprehensive CQRS pattern for Sprint module:

Commands:
- UpdateSprintCommand: Update sprint details with validation
- DeleteSprintCommand: Delete sprints (business rule: cannot delete active sprints)
- StartSprintCommand: Transition sprint from Planned to Active
- CompleteSprintCommand: Transition sprint from Active to Completed
- AddTaskToSprintCommand: Add tasks to sprint with validation
- RemoveTaskFromSprintCommand: Remove tasks from sprint

Queries:
- GetSprintByIdQuery: Get sprint by ID with DTO mapping
- GetSprintsByProjectIdQuery: Get all sprints for a project
- GetActiveSprintsQuery: Get all active sprints across projects

Infrastructure:
- Created IApplicationDbContext interface for Application layer DB access
- Registered IApplicationDbContext in DI container
- Added Microsoft.EntityFrameworkCore package to Application layer
- Updated UnitOfWork to expose GetDbContext() method

API:
- Created SprintsController with all CRUD and lifecycle endpoints
- Implemented proper HTTP methods (POST, PUT, DELETE, GET)
- Added sprint status transition endpoints (start, complete)
- Added task management endpoints (add/remove tasks)

All tests passing. Ready for Tasks 4-6.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 00:25:23 +01:00