Skip to main content

BlockTableRO

Trait BlockTableRO 

Source
pub trait BlockTableRO {
    // Required methods
    fn get(&self, id: &EntityId) -> Result<Option<Block>, RepositoryError>;
    fn get_multi(
        &self,
        ids: &[EntityId],
    ) -> Result<Vec<Option<Block>>, RepositoryError>;
    fn get_all(&self) -> Result<Vec<Block>, RepositoryError>;
    fn get_relationship(
        &self,
        id: &EntityId,
        field: &BlockRelationshipField,
    ) -> Result<Vec<EntityId>, RepositoryError>;
    fn get_relationship_many(
        &self,
        ids: &[EntityId],
        field: &BlockRelationshipField,
    ) -> Result<HashMap<EntityId, Vec<EntityId>>, RepositoryError>;
    fn get_relationship_count(
        &self,
        id: &EntityId,
        field: &BlockRelationshipField,
    ) -> Result<usize, RepositoryError>;
    fn get_relationship_in_range(
        &self,
        id: &EntityId,
        field: &BlockRelationshipField,
        offset: usize,
        limit: usize,
    ) -> Result<Vec<EntityId>, RepositoryError>;
    fn get_relationships_from_right_ids(
        &self,
        field: &BlockRelationshipField,
        right_ids: &[EntityId],
    ) -> Result<Vec<(EntityId, Vec<EntityId>)>, RepositoryError>;
}

Required Methods§

Implementors§