Skip to main content

CalendarReadStore

Trait CalendarReadStore 

Source
pub trait CalendarReadStore:
    Send
    + Sync
    + 'static {
    // Required methods
    fn get_calendar<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        id: &'life2 str,
        show_deleted: bool,
    ) -> Pin<Box<dyn Future<Output = Result<Calendar, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn get_calendars<'life0, 'life1, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Calendar>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_deleted_calendars<'life0, 'life1, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Calendar>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn sync_changes<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        cal_id: &'life2 str,
        synctoken: i64,
    ) -> Pin<Box<dyn Future<Output = Result<(Vec<(String, CalendarObject)>, Vec<String>, i64), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn calendar_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        cal_id: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<CollectionMetadata, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn get_objects<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        cal_id: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, CalendarObject)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn get_object<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        cal_id: &'life2 str,
        object_id: &'life3 str,
        show_deleted: bool,
    ) -> Pin<Box<dyn Future<Output = Result<CalendarObject, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn is_read_only(&self, cal_id: &str) -> bool;

    // Provided method
    fn calendar_query<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        principal: &'life1 str,
        cal_id: &'life2 str,
        _query: CalendarQuery,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, CalendarObject)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait { ... }
}

Required Methods§

Source

fn get_calendar<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, principal: &'life1 str, id: &'life2 str, show_deleted: bool, ) -> Pin<Box<dyn Future<Output = Result<Calendar, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn get_calendars<'life0, 'life1, 'async_trait>( &'life0 self, principal: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<Calendar>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_deleted_calendars<'life0, 'life1, 'async_trait>( &'life0 self, principal: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<Calendar>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn sync_changes<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, principal: &'life1 str, cal_id: &'life2 str, synctoken: i64, ) -> Pin<Box<dyn Future<Output = Result<(Vec<(String, CalendarObject)>, Vec<String>, i64), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn calendar_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, principal: &'life1 str, cal_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<CollectionMetadata, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn get_objects<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, principal: &'life1 str, cal_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, CalendarObject)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn get_object<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, principal: &'life1 str, cal_id: &'life2 str, object_id: &'life3 str, show_deleted: bool, ) -> Pin<Box<dyn Future<Output = Result<CalendarObject, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn is_read_only(&self, cal_id: &str) -> bool

Provided Methods§

Source

fn calendar_query<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, principal: &'life1 str, cal_id: &'life2 str, _query: CalendarQuery, ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, CalendarObject)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Since the rules are rather complex this function is only meant to do some prefiltering

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§