scim_server/schema/mod.rs
1//! Schema definitions and validation for SCIM resources.
2//!
3//! This module provides the schema registry and validation engine implementing
4//! RFC 7643 SCIM core schemas with comprehensive validation capabilities.
5//!
6//! # Key Types
7//!
8//! - [`Schema`] - SCIM schema definition with attributes and metadata
9//! - [`SchemaRegistry`] - Registry for managing and accessing schemas
10//! - [`AttributeDefinition`] - Individual attribute specifications and constraints
11//!
12//! # Examples
13//!
14//! ```rust
15//! use scim_server::schema::SchemaRegistry;
16//!
17//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
18//! let registry = SchemaRegistry::new()?;
19//! let user_schema = registry.get_user_schema();
20//! # Ok(())
21//! # }
22//! ```
23
24pub mod embedded;
25pub mod registry;
26pub mod types;
27pub mod validation;
28
29#[cfg(test)]
30mod tests;
31
32// Re-export the main types for convenience
33pub use registry::SchemaRegistry;
34pub use types::{AttributeDefinition, AttributeType, Mutability, Schema, Uniqueness};
35pub use validation::OperationContext;