pub trait BlockTable {
Show 19 methods
// Required methods
fn create(&mut self, entity: &Block) -> Result<Block, RepositoryError>;
fn create_multi(
&mut self,
entities: &[Block],
) -> Result<Vec<Block>, RepositoryError>;
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 update(&mut self, entity: &Block) -> Result<Block, RepositoryError>;
fn update_multi(
&mut self,
entities: &[Block],
) -> Result<Vec<Block>, RepositoryError>;
fn update_with_relationships(
&mut self,
entity: &Block,
) -> Result<Block, RepositoryError>;
fn update_with_relationships_multi(
&mut self,
entities: &[Block],
) -> Result<Vec<Block>, RepositoryError>;
fn remove(&mut self, id: &EntityId) -> Result<(), RepositoryError>;
fn remove_multi(&mut self, ids: &[EntityId]) -> Result<(), 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>;
fn set_relationship_multi(
&mut self,
field: &BlockRelationshipField,
relationships: Vec<(EntityId, Vec<EntityId>)>,
) -> Result<(), RepositoryError>;
fn set_relationship(
&mut self,
id: &EntityId,
field: &BlockRelationshipField,
right_ids: &[EntityId],
) -> Result<(), RepositoryError>;
fn move_relationship_ids(
&mut self,
id: &EntityId,
field: &BlockRelationshipField,
ids_to_move: &[EntityId],
new_index: i32,
) -> Result<Vec<EntityId>, RepositoryError>;
}Required Methods§
fn create(&mut self, entity: &Block) -> Result<Block, RepositoryError>
fn create_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>
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 update(&mut self, entity: &Block) -> Result<Block, RepositoryError>
fn update_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>
fn update_with_relationships( &mut self, entity: &Block, ) -> Result<Block, RepositoryError>
fn update_with_relationships_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>
fn remove(&mut self, id: &EntityId) -> Result<(), RepositoryError>
fn remove_multi(&mut self, ids: &[EntityId]) -> Result<(), 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>
fn set_relationship_multi( &mut self, field: &BlockRelationshipField, relationships: Vec<(EntityId, Vec<EntityId>)>, ) -> Result<(), RepositoryError>
fn set_relationship( &mut self, id: &EntityId, field: &BlockRelationshipField, right_ids: &[EntityId], ) -> Result<(), RepositoryError>
fn move_relationship_ids( &mut self, id: &EntityId, field: &BlockRelationshipField, ids_to_move: &[EntityId], new_index: i32, ) -> Result<Vec<EntityId>, RepositoryError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".