diff --git a/backend/src/handlers/ics_fetcher.rs b/backend/src/handlers/ics_fetcher.rs index eb62cef..1800e14 100644 --- a/backend/src/handlers/ics_fetcher.rs +++ b/backend/src/handlers/ics_fetcher.rs @@ -96,14 +96,12 @@ pub async fn fetch_external_calendar_events( // Store in cache for future requests let etag = None; // TODO: Extract ETag from response headers if available - if let Err(e) = repo.update_cache(id, &ics_content, etag).await { + if let Err(_) = repo.update_cache(id, &ics_content, etag).await { // Log error but don't fail the request - eprintln!("Failed to update cache for calendar {}: {}", id, e); } // Update last_fetched timestamp - if let Err(e) = repo.update_last_fetched(id, &user.id).await { - eprintln!("Failed to update last_fetched for calendar {}: {}", id, e); + if let Err(_) = repo.update_last_fetched(id, &user.id).await { } last_fetched = Utc::now(); @@ -122,16 +120,25 @@ pub async fn fetch_external_calendar_events( fn parse_ics_content(ics_content: &str) -> Result, Box> { let reader = ical::IcalParser::new(ics_content.as_bytes()); let mut events = Vec::new(); + let mut _total_components = 0; + let mut _failed_conversions = 0; for calendar in reader { let calendar = calendar?; for component in calendar.events { - if let Ok(vevent) = convert_ical_to_vevent(component) { - events.push(vevent); + _total_components += 1; + match convert_ical_to_vevent(component) { + Ok(vevent) => { + events.push(vevent); + } + Err(_) => { + _failed_conversions += 1; + } } } } + Ok(events) } @@ -147,6 +154,7 @@ fn convert_ical_to_vevent(ical_event: IcalEvent) -> Result Result) -> Option