Skip to main content

BlockTable

pub trait BlockTable {
Show 21 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>; fn snapshot_rows( &self, ids: &[EntityId], ) -> Result<TableLevelSnapshot, RepositoryError>; fn restore_rows( &mut self, snap: &TableLevelSnapshot, ) -> Result<(), RepositoryError>;
}

Required Methods§

Source

fn create(&mut self, entity: &Block) -> Result<Block, RepositoryError>

Source

fn create_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>

Source

fn get(&self, id: &EntityId) -> Result<Option<Block>, RepositoryError>

Source

fn get_multi( &self, ids: &[EntityId], ) -> Result<Vec<Option<Block>>, RepositoryError>

Source

fn get_all(&self) -> Result<Vec<Block>, RepositoryError>

Source

fn update(&mut self, entity: &Block) -> Result<Block, RepositoryError>

Source

fn update_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>

Source

fn update_with_relationships( &mut self, entity: &Block, ) -> Result<Block, RepositoryError>

Source

fn update_with_relationships_multi( &mut self, entities: &[Block], ) -> Result<Vec<Block>, RepositoryError>

Source

fn remove(&mut self, id: &EntityId) -> Result<(), RepositoryError>

Source

fn remove_multi(&mut self, ids: &[EntityId]) -> Result<(), RepositoryError>

Source

fn get_relationship( &self, id: &EntityId, field: &BlockRelationshipField, ) -> Result<Vec<EntityId>, RepositoryError>

Source

fn get_relationship_many( &self, ids: &[EntityId], field: &BlockRelationshipField, ) -> Result<HashMap<EntityId, Vec<EntityId>>, RepositoryError>

Source

fn get_relationship_count( &self, id: &EntityId, field: &BlockRelationshipField, ) -> Result<usize, RepositoryError>

Source

fn get_relationship_in_range( &self, id: &EntityId, field: &BlockRelationshipField, offset: usize, limit: usize, ) -> Result<Vec<EntityId>, RepositoryError>

Source

fn get_relationships_from_right_ids( &self, field: &BlockRelationshipField, right_ids: &[EntityId], ) -> Result<Vec<(EntityId, Vec<EntityId>)>, RepositoryError>

Source

fn set_relationship_multi( &mut self, field: &BlockRelationshipField, relationships: Vec<(EntityId, Vec<EntityId>)>, ) -> Result<(), RepositoryError>

Source

fn set_relationship( &mut self, id: &EntityId, field: &BlockRelationshipField, right_ids: &[EntityId], ) -> Result<(), RepositoryError>

Source

fn move_relationship_ids( &mut self, id: &EntityId, field: &BlockRelationshipField, ids_to_move: &[EntityId], new_index: i32, ) -> Result<Vec<EntityId>, RepositoryError>

Source

fn snapshot_rows( &self, ids: &[EntityId], ) -> Result<TableLevelSnapshot, RepositoryError>

Source

fn restore_rows( &mut self, snap: &TableLevelSnapshot, ) -> Result<(), RepositoryError>

Implementors§