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>;
}