1pub mod audit_listener;
15pub mod error;
16pub mod migrations;
17pub mod password;
18pub mod permission;
19pub mod service;
20pub mod store;
21
22pub const ROLE_ADMIN: &str = "admin";
25
26pub const ROLE_EDITOR: &str = "editor";
29
30mod models;
31mod schema;
32
33pub use audit_listener::AuditListener;
34pub use error::AuthError;
35pub use migrations::{migrations, MODULE_ID};
36pub use models::{AccessEvent, BackendUser, BackendUserSummary};
37pub use permission::PermissionSet;
38pub use service::{
39 ActiveSession, AuditEntry, AuthConfig, AuthService, AuthenticatedUser, IssuedSession,
40 NewOperator, PasswordPolicy, Purged, RecalledSession, RememberCredential, RequestContext,
41 ResolvedSession, MIN_PASSWORD_LENGTH,
42};
43pub use store::{AccessRecord, AuditRecord};
44pub use store::{RevokeReason, SessionEnd};
45
46pub struct AuthModule;
48
49impl laterite_core::Module for AuthModule {
50 fn id(&self) -> laterite_core::ModuleId {
51 laterite_core::ModuleId::new(MODULE_ID)
52 }
53 fn migrations(&self) -> laterite_core::MigrationSet {
54 migrations()
55 }
56 fn register(&self, registry: &mut laterite_core::Registry) {
57 registry.add(laterite_core::ModelListenerReg::all(std::sync::Arc::new(
58 audit_listener::AuditListener,
59 )));
60 }
61}