mod api_key_repository;
mod audit_repository;
mod credential_repository;
mod credit_hold_repository;
mod credit_refund_request_repository;
mod credit_repository;
mod custom_role_repository;
mod deposit_repository;
mod invite_repository;
mod login_attempt_repository;
mod membership_repository;
mod nonce_repository;
mod org_repository;
mod outbox_repository;
mod pending_wallet_recovery_repository;
mod policy_repository;
mod privacy_note_repository;
mod session_repository;
mod sso_repository;
mod system_settings_repository;
mod totp_repository;
mod treasury_config_repository;
mod user_repository;
mod verification_repository;
mod wallet_material_repository;
mod webauthn_repository;
mod withdrawal_history_repository;
pub mod pagination;
#[cfg(feature = "postgres")]
pub mod postgres;
#[cfg(test)]
mod tests;
pub use api_key_repository::{
generate_api_key, hash_api_key, ApiKeyEntity, ApiKeyRepository, InMemoryApiKeyRepository,
API_KEY_PREFIX,
};
pub use audit_repository::{
AuditEventType, AuditLogBuilder, AuditLogEntry, AuditLogQuery, AuditLogRepository,
InMemoryAuditLogRepository,
};
pub use credential_repository::{
CredentialEntity, CredentialRepository, CredentialType, InMemoryCredentialRepository,
};
pub use credit_hold_repository::{
CreateHoldResult, CreditHoldEntity, CreditHoldRepository, HoldStatus,
InMemoryCreditHoldRepository,
};
pub use credit_refund_request_repository::{
CreditRefundRequestEntity, CreditRefundRequestRepository, CreditRefundRequestStatus,
InMemoryCreditRefundRequestRepository,
};
pub use credit_repository::{
CreditBalanceEntity, CreditRepository, CreditStats, CreditTransactionEntity, CreditTxType,
CurrencyCreditStats, InMemoryCreditRepository, UserCreditStats,
};
pub use custom_role_repository::{CustomRole, CustomRoleRepository, InMemoryCustomRoleRepository};
pub use deposit_repository::{
DepositRepository, DepositSessionEntity, DepositStats, DepositStatus, DepositType,
InMemoryDepositRepository, WalletType,
};
pub use invite_repository::{
default_invite_expiry, generate_invite_token, hash_invite_token, InMemoryInviteRepository,
InviteEntity, InviteRepository, INVITE_EXPIRY_DAYS,
};
pub use login_attempt_repository::{
InMemoryLoginAttemptRepository, LockoutStatus, LoginAttemptConfig, LoginAttemptRecord,
LoginAttemptRepository,
};
pub use membership_repository::{
InMemoryMembershipRepository, MemberWithUser, MembershipEntity, MembershipRepository, OrgRole,
};
pub use nonce_repository::{InMemoryNonceRepository, NonceEntity, NonceRepository};
pub use org_repository::{generate_slug, InMemoryOrgRepository, OrgEntity, OrgRepository};
pub use outbox_repository::{
InMemoryOutboxRepository, OutboxEvent, OutboxEventType, OutboxRepository, OutboxStatus,
};
pub use pending_wallet_recovery_repository::{
InMemoryPendingWalletRecoveryRepository, PendingWalletRecoveryEntity,
PendingWalletRecoveryRepository, RecoveryType,
};
pub use policy_repository::{
AbacPolicy, AttributeMatcher, InMemoryPolicyRepository, PolicyConditions, PolicyEffect,
PolicyRepository,
};
pub use privacy_note_repository::{
InMemoryPrivacyNoteRepository, NoteStatus, PrivacyNoteEntity, PrivacyNoteRepository,
};
pub use session_repository::{InMemorySessionRepository, SessionEntity, SessionRepository};
pub use sso_repository::{InMemorySsoRepository, SsoRepository};
pub use system_settings_repository::{
InMemorySystemSettingsRepository, SystemSetting, SystemSettingsRepository,
};
pub use totp_repository::{InMemoryTotpRepository, RecoveryCode, TotpRepository, TotpSecret};
pub use treasury_config_repository::{
InMemoryTreasuryConfigRepository, TreasuryConfigEntity, TreasuryConfigRepository,
};
pub use user_repository::{normalize_email, InMemoryUserRepository, UserEntity, UserRepository};
pub use verification_repository::{
default_expiry, generate_verification_token, hash_verification_token,
InMemoryVerificationRepository, RepositoryError, TokenType, VerificationRepository,
VerificationToken,
};
pub use wallet_material_repository::{
CreateWalletMaterial, InMemoryWalletMaterialRepository, KdfParams, RotateUserSecret,
ShareAAuthMethod, WalletMaterialEntity, WalletMaterialRepository,
};
pub use webauthn_repository::{
InMemoryWebAuthnRepository, WebAuthnChallenge, WebAuthnCredential, WebAuthnRepository,
};
pub use withdrawal_history_repository::{
InMemoryWithdrawalHistoryRepository, WithdrawalHistoryEntry, WithdrawalHistoryRepository,
};
#[cfg(feature = "postgres")]
pub use postgres::{
PostgresApiKeyRepository, PostgresAuditLogRepository, PostgresCredentialRepository,
PostgresCreditHoldRepository, PostgresCreditRefundRequestRepository, PostgresCreditRepository,
PostgresCustomRoleRepository,
PostgresDepositRepository, PostgresInviteRepository, PostgresLoginAttemptRepository,
PostgresMembershipRepository, PostgresNonceRepository, PostgresOrgRepository,
PostgresOutboxRepository, PostgresPendingWalletRecoveryRepository, PostgresPolicyRepository,
PostgresPrivacyNoteRepository, PostgresSessionRepository, PostgresSsoRepository,
PostgresSystemSettingsRepository, PostgresTotpRepository, PostgresTreasuryConfigRepository,
PostgresUserRepository, PostgresVerificationRepository, PostgresWalletMaterialRepository,
PostgresWebAuthnRepository, PostgresWithdrawalHistoryRepository,
};