pub trait ActixAdminViewModelTrait {
type Id: ActixAdminPrimaryKey;
// Required methods
fn list<'life0, 'life1, 'async_trait>(
db: &'life0 DatabaseConnection,
params: &'life1 ActixAdminViewModelParams,
) -> Pin<Box<dyn Future<Output = Result<(Option<u64>, Vec<ActixAdminModel>), ActixAdminError>> + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait;
fn create_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
model: ActixAdminModel,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>
where 'life0: 'async_trait;
fn delete_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ActixAdminError>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn edit_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
model: ActixAdminModel,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_select_lists<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, Vec<(String, String)>>, ActixAdminError>> + 'async_trait>>
where 'life0: 'async_trait;
fn get_viewmodel_filter<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
) -> Pin<Box<dyn Future<Output = HashMap<String, ActixAdminViewModelFilter>> + 'async_trait>>
where 'life0: 'async_trait;
fn validate_entity<'life0, 'life1, 'async_trait>(
model: &'life0 mut ActixAdminModel,
db: &'life1 DatabaseConnection,
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait;
fn get_entity_name() -> String;
// Provided method
fn delete_entities<'life0, 'life1, 'async_trait>(
db: &'life0 DatabaseConnection,
ids: &'life1 [Self::Id],
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<u64, ActixAdminError>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Required Associated Types§
Sourcetype Id: ActixAdminPrimaryKey
type Id: ActixAdminPrimaryKey
The primary-key type of this entity. Defaults to i32 in the derive
macro output; override by having a #[actix_admin(primary_key)] field
with a different type (e.g. Uuid, i64, String).
Required Methods§
fn list<'life0, 'life1, 'async_trait>(
db: &'life0 DatabaseConnection,
params: &'life1 ActixAdminViewModelParams,
) -> Pin<Box<dyn Future<Output = Result<(Option<u64>, Vec<ActixAdminModel>), ActixAdminError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn create_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
model: ActixAdminModel,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>where
'life0: 'async_trait,
fn delete_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ActixAdminError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn edit_entity<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
id: Self::Id,
model: ActixAdminModel,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<ActixAdminModel, ActixAdminError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_select_lists<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, Vec<(String, String)>>, ActixAdminError>> + 'async_trait>>where
'life0: 'async_trait,
fn get_viewmodel_filter<'life0, 'async_trait>(
db: &'life0 DatabaseConnection,
) -> Pin<Box<dyn Future<Output = HashMap<String, ActixAdminViewModelFilter>> + 'async_trait>>where
'life0: 'async_trait,
fn validate_entity<'life0, 'life1, 'async_trait>(
model: &'life0 mut ActixAdminModel,
db: &'life1 DatabaseConnection,
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn get_entity_name() -> String
Provided Methods§
Sourcefn delete_entities<'life0, 'life1, 'async_trait>(
db: &'life0 DatabaseConnection,
ids: &'life1 [Self::Id],
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<u64, ActixAdminError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_entities<'life0, 'life1, 'async_trait>(
db: &'life0 DatabaseConnection,
ids: &'life1 [Self::Id],
tenant_ref: Option<i32>,
) -> Pin<Box<dyn Future<Output = Result<u64, ActixAdminError>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Bulk-delete many entities in a single query. Default implementation
falls back to a per-id loop over delete_entity, so existing
implementations keep working; the derive-macro override does a single
DELETE ... WHERE pk IN (...) query.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".