mod.rs 82 lignes · 3142 octets
//! Models module
//!
//! SeaORM entity models for the Rustwarden framework.

/// Application settings entity (key-value configuration store).
pub mod app_settings;
/// Audit log entity for admin operations.
pub mod audit_log;
/// Email delivery status tracking entity.
pub mod email_delivery_status;
/// Email queue entity for asynchronous email sending.
pub mod email_queue;
/// Email validation token entity.
pub mod email_validation_token;
/// JWT blacklist entity for token revocation.
pub mod jwt_blacklist;
/// OAuth account entity linking external provider identities to users.
#[cfg(feature = "oauth")]
pub mod oauth_account;
/// Password change request entity requiring email confirmation.
pub mod password_change_request;
/// Password reset token entity.
pub mod password_reset_token;
/// Pending email-change request entity (two-step email change, RFC 0041).
pub mod pending_email_change;
/// Permission entity for RBAC.
pub mod permission;
/// Personal access token entity (long-lived API credentials).
pub mod personal_access_token;
/// Refresh token entity for JWT rotation.
pub mod refresh_token;
// Federation entities (`remote_identity`, `fediverse_*`) now live in the
// `rustwarden-fediverse` crate. Consumers must import them via
// `rustwarden_fediverse::models::*`.
/// Generic resource registry entity.
pub mod resource;
/// Resource share entity granting access to a principal.
pub mod resource_share;
/// Role entity for RBAC.
pub mod role;
/// Role-permission junction entity.
pub mod role_permission;
/// Team entity for group-based access control.
pub mod team;
/// Team membership entity linking users to teams.
pub mod team_member;
/// Ephemeral TOTP challenge entity for the 2FA login flow.
pub mod totp_challenge;
/// User entity.
pub mod user;
/// User preferences entity (theme, language).
pub mod user_preferences;
/// User-role junction entity.
pub mod user_role;
/// User TOTP secrets entity for two-factor authentication.
pub mod user_totp;

pub use app_settings::Entity as AppSettings;
pub use audit_log::Entity as AuditLog;
pub use email_delivery_status::Entity as EmailDeliveryStatus;
pub use email_queue::Entity as EmailQueue;
pub use email_validation_token::Entity as EmailValidationToken;
pub use jwt_blacklist::Entity as JwtBlacklist;
#[cfg(feature = "oauth")]
pub use oauth_account::Entity as OauthAccount;
pub use password_change_request::Entity as PasswordChangeRequest;
pub use password_reset_token::Entity as PasswordResetToken;
pub use pending_email_change::Entity as PendingEmailChange;
pub use permission::Entity as Permission;
pub use personal_access_token::Entity as PersonalAccessToken;
pub use refresh_token::Entity as RefreshToken;
pub use resource::Entity as Resource;
pub use resource_share::Entity as ResourceShare;
pub use role::Entity as Role;
pub use role_permission::Entity as RolePermission;
pub use team::Entity as Team;
pub use team_member::Entity as TeamMember;
pub use totp_challenge::Entity as TotpChallenge;
pub use user::Entity as User;
pub use user_preferences::Entity as UserPreferences;
pub use user_role::Entity as UserRole;
pub use user_totp::Entity as UserTotp;