diff --git a/crates/caldav/src/calendar/resource.rs b/crates/caldav/src/calendar/resource.rs index 2c891eb..03bbe04 100644 --- a/crates/caldav/src/calendar/resource.rs +++ b/crates/caldav/src/calendar/resource.rs @@ -317,16 +317,11 @@ impl Resource for CalendarResource { } fn get_user_privileges(&self, user: &Principal) -> Result { - if self.cal.subscription_url.is_some() { + if self.cal.subscription_url.is_some() || self.read_only { return Ok(UserPrivilegeSet::owner_write_properties( user.is_principal(&self.cal.principal), )); } - if self.read_only { - return Ok(UserPrivilegeSet::owner_read( - user.is_principal(&self.cal.principal), - )); - } Ok(UserPrivilegeSet::owner_only( user.is_principal(&self.cal.principal), diff --git a/crates/store/src/calendar_store.rs b/crates/store/src/calendar_store.rs index 94dd83a..99b9c4e 100644 --- a/crates/store/src/calendar_store.rs +++ b/crates/store/src/calendar_store.rs @@ -98,5 +98,6 @@ pub trait CalendarStore: Send + Sync + 'static { object_id: &str, ) -> Result<(), Error>; + // read_only refers to objects, metadata may still be updated fn is_read_only(&self, cal_id: &str) -> bool; }