diff --git a/crates/caldav/src/calendar/methods/report/mod.rs b/crates/caldav/src/calendar/methods/report/mod.rs index 2703f01..75984e5 100644 --- a/crates/caldav/src/calendar/methods/report/mod.rs +++ b/crates/caldav/src/calendar/methods/report/mod.rs @@ -61,7 +61,7 @@ fn objects_response( ) -> Result, Error> { let mut responses = Vec::new(); for object in objects { - let path = format!("{}/{}.ics", path, object.get_id()); + let path = format!("{}/{}.ics", path, object.get_uid()); responses.push( CalendarObjectResource { object, diff --git a/crates/caldav/src/calendar/methods/report/sync_collection.rs b/crates/caldav/src/calendar/methods/report/sync_collection.rs index 7b70f20..bb11e78 100644 --- a/crates/caldav/src/calendar/methods/report/sync_collection.rs +++ b/crates/caldav/src/calendar/methods/report/sync_collection.rs @@ -33,7 +33,7 @@ pub async fn handle_sync_collection( let mut responses = Vec::new(); for object in new_objects { - let path = format!("{}/{}.ics", path, object.get_id()); + let path = format!("{}/{}.ics", path, object.get_uid()); responses.push( CalendarObjectResource { object, diff --git a/crates/caldav/src/calendar_object/methods.rs b/crates/caldav/src/calendar_object/methods.rs index 510b1ed..177a730 100644 --- a/crates/caldav/src/calendar_object/methods.rs +++ b/crates/caldav/src/calendar_object/methods.rs @@ -82,10 +82,10 @@ pub async fn put_event( debug!("invalid calendar data:\n{body}"); return Err(Error::PreconditionFailed(Precondition::ValidCalendarData)); }; - if object.get_id() != object_id { + if object.get_uid() != object_id { error!( "Calendar object UID and file name not matching: UID={}, filename={}", - object.get_id(), + object.get_uid(), object_id ); return Err(Error::PreconditionFailed(Precondition::MatchingUid)); diff --git a/crates/caldav/src/calendar_object/resource.rs b/crates/caldav/src/calendar_object/resource.rs index 15af050..bb54344 100644 --- a/crates/caldav/src/calendar_object/resource.rs +++ b/crates/caldav/src/calendar_object/resource.rs @@ -21,7 +21,7 @@ pub struct CalendarObjectResource { impl ResourceName for CalendarObjectResource { fn get_name(&self) -> String { - format!("{}.ics", self.object.get_id()) + format!("{}.ics", self.object.get_uid()) } } diff --git a/crates/ical/src/icalendar/object.rs b/crates/ical/src/icalendar/object.rs index c02b52f..ce3dbe7 100644 --- a/crates/ical/src/icalendar/object.rs +++ b/crates/ical/src/icalendar/object.rs @@ -220,7 +220,7 @@ impl CalendarObject { } #[must_use] - pub fn get_id(&self) -> &str { + pub fn get_uid(&self) -> &str { match &self.data { // We've made sure before that the first component exists and all components share the // same UID @@ -233,7 +233,7 @@ impl CalendarObject { #[must_use] pub fn get_etag(&self) -> String { let mut hasher = Sha256::new(); - hasher.update(self.get_id()); + hasher.update(self.get_uid()); hasher.update(self.get_ics()); format!("\"{:x}\"", hasher.finalize()) } diff --git a/crates/store/src/calendar.rs b/crates/store/src/calendar.rs index 31e6a1c..da3be24 100644 --- a/crates/store/src/calendar.rs +++ b/crates/store/src/calendar.rs @@ -1,9 +1,8 @@ -use std::str::FromStr; - use crate::synctoken::format_synctoken; use chrono::NaiveDateTime; use rustical_ical::CalendarObjectType; use serde::{Deserialize, Serialize}; +use std::str::FromStr; #[derive(Debug, Default, Clone, Serialize, Deserialize)] pub struct CalendarMetadata { diff --git a/crates/store_sqlite/src/calendar_store.rs b/crates/store_sqlite/src/calendar_store.rs index 1731d1b..a24c050 100644 --- a/crates/store_sqlite/src/calendar_store.rs +++ b/crates/store_sqlite/src/calendar_store.rs @@ -24,11 +24,11 @@ impl TryFrom for CalendarObject { fn try_from(value: CalendarObjectRow) -> Result { let object = Self::from_ics(value.ics)?; - if object.get_id() != value.id { + if object.get_uid() != value.id { return Err(rustical_store::Error::IcalError( rustical_ical::Error::InvalidData(format!( "object_id={} and UID={} don't match", - object.get_id(), + object.get_uid(), value.id )), )); @@ -355,7 +355,7 @@ impl SqliteCalendarStore { object: CalendarObject, overwrite: bool, ) -> Result<(), Error> { - let (object_id, ics) = (object.get_id(), object.get_ics()); + let (object_id, ics) = (object.get_uid(), object.get_ics()); let first_occurence = object .get_first_occurence() @@ -678,7 +678,7 @@ impl CalendarStore for SqliteCalendarStore { .await .map_err(crate::Error::from)?; - let object_id = object.get_id().to_owned(); + let object_id = object.get_uid().to_owned(); let calendar = Self::_get_calendar(&mut *tx, &principal, &cal_id, true).await?; if calendar.subscription_url.is_some() {