mod predicate;
mod principal;
mod provider;
mod role;
mod user;
#[cfg(not(target_arch = "wasm32"))]
mod context;
pub use predicate::{
all_of, any_of, require_auth, require_permission, require_role, Decision, DenyReason, Predicate,
};
pub use principal::{Principal, Session};
pub use role::{Permission, Role};
pub use user::AuthUser;
#[cfg(not(target_arch = "wasm32"))]
pub use context::{
ensure_login, ensure_permission, ensure_role, require_admin, require_login, require_staff,
RequestContext, SESSION_COOKIE,
};
pub use provider::{AuthError, AuthResult};
#[cfg(not(target_arch = "wasm32"))]
pub use provider::{AuthFuture, AuthProvider, SessionStore};