mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 19:22:26 +00:00
Add import_calendar method to CalendarStore
This commit is contained in:
@@ -34,6 +34,12 @@ pub trait CalendarStore: Send + Sync + 'static {
|
||||
use_trashbin: bool,
|
||||
) -> Result<(), Error>;
|
||||
async fn restore_calendar(&self, principal: &str, name: &str) -> Result<(), Error>;
|
||||
async fn import_calendar(
|
||||
&self,
|
||||
calendar: Calendar,
|
||||
objects: Vec<CalendarObject>,
|
||||
merge_existing: bool,
|
||||
) -> Result<(), Error>;
|
||||
|
||||
async fn sync_changes(
|
||||
&self,
|
||||
|
||||
@@ -189,6 +189,24 @@ impl<CS: CalendarStore, BS: CalendarStore> CalendarStore for CombinedCalendarSto
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
async fn import_calendar(
|
||||
&self,
|
||||
calendar: Calendar,
|
||||
objects: Vec<CalendarObject>,
|
||||
merge_existing: bool,
|
||||
) -> Result<(), Error> {
|
||||
if calendar.id.starts_with(BIRTHDAYS_PREFIX) {
|
||||
self.birthday_store
|
||||
.import_calendar(calendar, objects, merge_existing)
|
||||
.await
|
||||
} else {
|
||||
self.cal_store
|
||||
.import_calendar(calendar, objects, merge_existing)
|
||||
.await
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
async fn delete_calendar(
|
||||
&self,
|
||||
|
||||
@@ -83,6 +83,15 @@ impl<AS: AddressbookStore> CalendarStore for ContactBirthdayStore<AS> {
|
||||
Err(Error::ReadOnly)
|
||||
}
|
||||
|
||||
async fn import_calendar(
|
||||
&self,
|
||||
_calendar: Calendar,
|
||||
_objects: Vec<CalendarObject>,
|
||||
_merge_existing: bool,
|
||||
) -> Result<(), Error> {
|
||||
Err(Error::ReadOnly)
|
||||
}
|
||||
|
||||
async fn sync_changes(
|
||||
&self,
|
||||
principal: &str,
|
||||
|
||||
Reference in New Issue
Block a user