#![expect(
missing_debug_implementations,
reason = "service types in this crate hold pools/clients that intentionally do not implement \
Debug"
)]
pub mod error;
pub(crate) mod extension;
pub mod jobs;
pub(crate) mod models;
pub(crate) mod repository;
pub(crate) mod services;
pub use extension::UsersExtension;
pub use error::{Result, UserError, UserResult};
pub use models::{
NewApiKey, User, UserActivity, UserApiKey, UserCountBreakdown, UserDeviceCert, UserExport,
UserRole, UserSession, UserStats, UserStatus, UserWithSessions,
};
pub use repository::{
BanDuration, BanIpParams, BanIpWithMetadataParams, BannedIp, BannedIpRepository,
CreateApiKeyParams, EnrollDeviceCertParams, MergeResult, UserRepository,
};
pub use services::{
API_KEY_PREFIX, ApiKeyService, DemoteResult, DeviceCertService, EnrollDeviceCertServiceParams,
IssueApiKeyParams, PromoteResult, UpdateUserParams, UserAdminService, UserProviderImpl,
UserService,
};
pub use systemprompt_traits::auth::{RoleProvider, UserProvider};