Skip to main content

ActixAdminViewModelTrait

Trait ActixAdminViewModelTrait 

Source
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§

Source

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§

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

fn get_viewmodel_filter<'life0, 'async_trait>( db: &'life0 DatabaseConnection, ) -> Pin<Box<dyn Future<Output = HashMap<String, ActixAdminViewModelFilter>> + 'async_trait>>
where 'life0: 'async_trait,

Source

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,

Source

fn get_entity_name() -> String

Provided Methods§

Source

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".

Implementors§