scim-server 0.5.3

A comprehensive SCIM 2.0 server library for Rust with multi-tenant support and type-safe operations
Documentation
//! Standard resource provider implementations.
//!
//! This module provides production-ready implementations of the ResourceProvider
//! trait that can be used directly or as reference implementations for custom
//! providers.
//!
//! # Available Providers
//!
//! * [`StandardResourceProvider`] - **RECOMMENDED** Production-ready provider with pluggable storage backends
//! * **InMemoryProvider** - ⚠️ **REMOVED** in v0.4.0 - Use `StandardResourceProvider<InMemoryStorage>` instead
//!
//! All providers in this module implement the unified ResourceProvider trait,
//! supporting both single-tenant and multi-tenant operations through the
//! RequestContext interface.
//!
//! # Quick Start
//!
//! ```rust
//! use scim_server::providers::StandardResourceProvider;
//! use scim_server::storage::InMemoryStorage;
//!
//! // Recommended approach
//! let storage = InMemoryStorage::new();
//! let provider = StandardResourceProvider::new(storage);
//! ```

pub mod error;
pub mod helpers;
pub mod provider;
pub mod standard;

// Re-export the recommended types
pub use crate::storage::{InMemoryStorage, ProviderStats, StorageProvider};
pub use error::ProviderError;
pub use provider::ResourceProvider;
pub use standard::StandardResourceProvider;

// Re-export helper traits for composable provider development
pub use helpers::{
    ConditionalOperations, MultiTenantProvider, ScimMetadataManager, ScimPatchOperations,
    ScimValidator,
};