1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! 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);
//! ```
// Re-export the recommended types
pub use crate;
pub use ProviderError;
pub use ResourceProvider;
pub use StandardResourceProvider;
// Re-export helper traits for composable provider development
pub use ;