Skip to main content

DriverAdapter

Trait DriverAdapter 

Source
pub trait DriverAdapter {
    // Required methods
    fn create(
        &self,
        owner: UserId,
        name: GroupName,
    ) -> Result<GroupRevision, String>;
    fn rename(
        &self,
        actor: UserId,
        group: GroupId,
        name: GroupName,
    ) -> Result<GroupRevision, String>;
    fn set_user_role(
        &self,
        actor: UserId,
        group: GroupId,
        user: UserId,
        role: Option<GroupRole>,
    ) -> Result<GroupRevision, String>;
    fn set_model_membership(
        &self,
        actor: UserId,
        group: GroupId,
        model: ModelId,
        present: bool,
    ) -> Result<GroupRevision, String>;
    fn get(&self, group: GroupId) -> Result<Option<Group>, String>;
    fn groups_for_user(&self, user: UserId) -> Result<Vec<GroupId>, String>;
    fn groups_for_model(&self, model: ModelId) -> Result<Vec<GroupId>, String>;
    fn memberships(
        &self,
        user: UserId,
        model: ModelId,
    ) -> Result<GroupMemberships, String>;
    fn restart(&mut self) -> Result<(), String>;
    fn concurrency_observation(
        &mut self,
    ) -> Result<ConcurrencyObservation, String>;
    fn malformed_observation(&mut self) -> Result<MalformedObservation, String>;
    fn reorg_observation(&mut self) -> Result<ReorgObservation, String>;
}

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§