#[cfg(client)]
pub use wasm_only::*;
#[cfg(client)]
mod wasm_only {
pub struct AdminSite;
pub struct AdminDatabase;
pub struct AdminRecord;
pub trait AdminUser: Send + Sync {
fn is_active(&self) -> bool;
fn is_staff(&self) -> bool;
fn is_superuser(&self) -> bool;
fn get_username(&self) -> &str;
}
#[async_trait::async_trait]
pub trait ModelAdmin: Send + Sync {
fn model_name(&self) -> &str;
fn table_name(&self) -> &str {
""
}
fn pk_field(&self) -> &str {
"id"
}
fn list_display(&self) -> Vec<&str> {
vec!["id"]
}
fn list_filter(&self) -> Vec<&str> {
vec![]
}
fn search_fields(&self) -> Vec<&str> {
vec![]
}
fn fields(&self) -> Option<Vec<&str>> {
None
}
fn readonly_fields(&self) -> Vec<&str> {
vec![]
}
fn ordering(&self) -> Vec<&str> {
vec!["-id"]
}
fn list_per_page(&self) -> Option<usize> {
None
}
async fn has_view_permission(&self, _user: &dyn AdminUser) -> bool {
false
}
async fn has_add_permission(&self, _user: &dyn AdminUser) -> bool {
false
}
async fn has_change_permission(&self, _user: &dyn AdminUser) -> bool {
false
}
async fn has_delete_permission(&self, _user: &dyn AdminUser) -> bool {
false
}
}
pub struct ModelAdminConfig;
pub struct ModelAdminConfigBuilder;
#[derive(serde::Serialize, serde::Deserialize)]
pub struct ExportFormat;
pub struct ImportBuilder;
pub struct ImportError;
#[derive(serde::Serialize, serde::Deserialize)]
pub struct ImportFormat;
pub struct ImportResult;
#[allow(dead_code)]
fn assert_admin_trait_shapes(_admin: &dyn ModelAdmin, _user: &dyn AdminUser) {}
}