Skip to main content

adminx_core/
lib.rs

1// adminx-core/src/lib.rs
2//
3// Framework-neutral core of the adminx admin-panel framework. Contains no web
4// framework and no database dependency: it defines the `Resource` trait, the
5// `Storage` abstraction, the registry, and neutral request/response types.
6//
7// Web adapters (adminx-actix, adminx-axum) translate their framework's
8// request/response to/from `ReqCtx`/`ApiResponse`. Storage adapters
9// (adminx-seaorm, adminx-mongo) implement `Storage`.
10
11pub mod actions;
12pub mod auth;
13pub mod error;
14pub mod export;
15pub mod filters;
16pub mod menu;
17pub mod mfa;
18pub mod registry;
19pub mod request;
20pub mod resource;
21pub mod response;
22pub mod storage;
23pub mod ui;
24
25pub use actions::{ActionFuture, ActionHandler, CustomAction};
26pub use auth::AuthConfig;
27pub use error::CoreError;
28pub use filters::{FilterField, FilterKind, FilterOption};
29pub use menu::{MenuAction, MenuItem};
30pub use registry::{all_resources, get_registered_menus, register_resource};
31pub use request::{Claims, ReqCtx};
32pub use resource::Resource;
33pub use response::{ApiBody, ApiResponse};
34pub use storage::{
35    seed, set_storage, storage, CreateOutcome, ListPage, QueryOptions, Storage, StorageError,
36};
37
38pub const VERSION: &str = env!("CARGO_PKG_VERSION");
39
40/// Common imports for defining resources and wiring an app.
41pub mod prelude {
42    pub use crate::actions::{ActionFuture, CustomAction};
43    pub use crate::auth::{configure as configure_auth, create_admin, AuthConfig};
44    pub use crate::error::CoreError;
45    pub use crate::filters::{FilterField, FilterKind, FilterOption};
46    pub use crate::registry::{all_resources, register_resource};
47    pub use crate::request::{Claims, ReqCtx};
48    pub use crate::resource::Resource;
49    pub use crate::response::{ApiBody, ApiResponse};
50    pub use crate::storage::{seed, set_storage, storage, QueryOptions, Storage};
51}