feat:setlist-scheduler #93
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎵 Setlist Studio Pull Request: Feature/PerformanceDateManagement
📋 Description
Implements comprehensive performance date management functionality, allowing musicians to schedule multiple performance dates for a single setlist. This addresses a key musician workflow where the same setlist is performed at different venues and times (e.g., wedding bands, tour dates, festival appearances).
Key Features:
🎯 Type of Change
✨ New feature (non-breaking change which adds functionality)
🔒 Security enhancement
🎵 Musical workflow improvement
🎼 Musical Context
This feature directly addresses real-world musician workflows:
Real-World Use Cases:
✅ Quality Checklist (MANDATORY)
Security & Testing
dotnet test)[SanitizedString]attributes onVenueandNotes.UserIdfor ownership.[EnableRateLimiting("ApiPolicy")]on all new endpoints.Code Quality & Standards
SongService,SetlistService).PerformanceDate,ScheduledDates,PerformanceNotes).🧪 Testing Details
Unit Tests Added (32 Cases Total)
PerformanceDateServiceTests.cs(21 test cases):SetlistsControllerTests.cs(11 new test cases):GET /api/setlists/{id}/datesPOST /api/setlists/{id}/datesDELETE /api/setlists/{id}/dates/{dateId}📱 Mobile/Performance Testing
🔧 Maintainability Assessment
Team Handover Readiness
GetUpcomingPerformanceDatesAsync).Performance & Scalability Impact
UserId,Date,SetlistId+Date).Long-term Sustainability
🔗 Related Issues
Implements feature request for scheduling multiple performance dates per setlist.
Closes #[issue-number]
🛡️ Security Review Required
This PR contains security-sensitive changes and requires review of:
UserIdmatches authenticated user.[SanitizedString]attributes prevent XSS.ApiPolicyrate limiting.📂 Files Changed
PerformanceDate.cs,PerformanceDateService.cs,PerformanceDateServiceTests.cs, Database MigrationSetlist.cs,SetlistStudioDbContext.cs,SetlistsController.cs,Setlists.razor🚀 Deployment Notes
Database Migration Required:
A new EF Core migration (
20251212000001_AddPerformanceDates.cs) is included and must be applied.Rollback Plan:
If needed, revert migration using standard EF Core tools.
Ready for Review: ✅ All quality checkboxes complete, comprehensive tests passing, security validated.