store: prevent objects from being commited to subscription calendar

This commit is contained in:
Lennart
2025-08-31 12:40:20 +02:00
parent 8ea5321503
commit 69e788b363

View File

@@ -353,7 +353,6 @@ impl SqliteCalendarStore {
object: CalendarObject,
overwrite: bool,
) -> Result<(), Error> {
// TODO: Prevent objects from being commited to a subscription calendar
let (object_id, ics) = (object.get_id(), object.get_ics());
let first_occurence = object
@@ -669,11 +668,16 @@ impl CalendarStore for SqliteCalendarStore {
object: CalendarObject,
overwrite: bool,
) -> Result<(), Error> {
// TODO: Prevent objects from being commited to a subscription calendar
let mut tx = self.db.begin().await.map_err(crate::Error::from)?;
let object_id = object.get_id().to_owned();
let calendar = Self::_get_calendar(&mut *tx, &principal, &cal_id, true).await?;
if calendar.subscription_url.is_some() {
// We cannot commit an object to a subscription calendar
return Err(Error::ReadOnly);
}
Self::_put_object(
&mut *tx,
principal.to_owned(),