Fix frontend to use series endpoint for single occurrence modifications

- Extended update callback signature to include update_scope and occurrence_date parameters
- Modified app.rs to detect when series endpoint should be used vs regular endpoint
- Updated calendar_service to automatically set occurrence_date for "this_only" updates
- Modified all callback emit calls throughout frontend to include new parameters
- Week_view now properly calls series endpoint with "this_only" scope for single occurrence edits

This ensures that single occurrence modifications (RecurringEditAction::ThisEvent)
now go through the proper series endpoint which will:
- Add EXDATE to the original recurring series
- Create exception event with RECURRENCE-ID
- Show proper debug logging in backend

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Connor Johnstone
2025-08-30 14:01:30 -04:00
parent 071fc3099f
commit a6aac42c78
3 changed files with 96 additions and 39 deletions

View File

@@ -929,8 +929,13 @@ impl CalendarService {
"recurrence_end_date": until_date.as_ref().map(|dt| dt.format("%Y-%m-%d").to_string()),
"recurrence_count": None as Option<u32>, // No count limit by default
"calendar_path": calendar_path,
"update_scope": update_scope,
"occurrence_date": None as Option<String> // For specific occurrence updates
"update_scope": update_scope.clone(),
"occurrence_date": if update_scope == "this_only" {
// For single occurrence updates, use the original event's start date as occurrence_date
Some(start_date.clone())
} else {
None
}
});
let url = format!("{}/calendar/events/series/update", self.base_url);
(body, url)