pub trait AdminEnt: Transactional {
// Required methods
fn find_edges_by_dest(&self, dest: Id) -> Result<Vec<Edge>, DatabaseError>;
fn remove_edges_by_dest(&self, dest: Id) -> Result<(), DatabaseError>;
fn create_dyn(&self, ent: Box<dyn Ent>) -> Result<Id, DatabaseError>;
fn update_dyn(&self, ent: Box<dyn Ent>) -> Result<(), DatabaseError>;
fn list_entities(
&self,
entity_type: &str,
cursor: Option<Id>,
limit: usize,
) -> Result<Vec<Box<dyn Ent>>, DatabaseError>;
// Provided methods
fn audit_ent_edges<E: Ent>(&self, id: Id) -> Result<(), AuditError>
where Self: Sized { ... }
fn fix_ent_edges<E: Ent>(self, id: Id) -> Result<(), AuditError>
where Self: Sized { ... }
}Required Methods§
fn find_edges_by_dest(&self, dest: Id) -> Result<Vec<Edge>, DatabaseError>
fn remove_edges_by_dest(&self, dest: Id) -> Result<(), DatabaseError>
Sourcefn create_dyn(&self, ent: Box<dyn Ent>) -> Result<Id, DatabaseError>
fn create_dyn(&self, ent: Box<dyn Ent>) -> Result<Id, DatabaseError>
Create an entity from a boxed dynamic Ent.
This is used by the admin API to create entities without knowing their concrete type at compile time.
Sourcefn update_dyn(&self, ent: Box<dyn Ent>) -> Result<(), DatabaseError>
fn update_dyn(&self, ent: Box<dyn Ent>) -> Result<(), DatabaseError>
Update an entity from a boxed dynamic Ent.
The entity’s ID should already be set. This method replaces the existing entity data with the provided entity.
Sourcefn list_entities(
&self,
entity_type: &str,
cursor: Option<Id>,
limit: usize,
) -> Result<Vec<Box<dyn Ent>>, DatabaseError>
fn list_entities( &self, entity_type: &str, cursor: Option<Id>, limit: usize, ) -> Result<Vec<Box<dyn Ent>>, DatabaseError>
List entities of a specific type with cursor-based pagination.
§Arguments
entity_type- The string name of the entity type to listcursor- Optional ID cursor. If provided, returns entities with ID > cursorlimit- Maximum number of entities to return
Provided Methods§
fn audit_ent_edges<E: Ent>(&self, id: Id) -> Result<(), AuditError>where
Self: Sized,
fn fix_ent_edges<E: Ent>(self, id: Id) -> Result<(), AuditError>where
Self: Sized,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.