# ex_scim v0.2.0 - Table of Contents SCIM 2.0 protocol implementation for Elixir ## Pages - [ExScim](readme.md) - [Configuration & Guides](configuration.md) ## Modules - [ExScim](ExScim.md): Core SCIM library providing storage adapters, operations, and configuration. - [ExScim.Auth.AuthProvider](ExScim.Auth.AuthProvider.md): Delegates authentication calls to the configured adapter. - [ExScim.Auth.AuthProvider.Adapter](ExScim.Auth.AuthProvider.Adapter.md): Behaviour for SCIM authentication providers. - [ExScim.Config](ExScim.Config.md): Centralized configuration management for ExScim. - [ExScim.Error](ExScim.Error.md): SCIM error handling and standardization per RFC 7644 Section 3.12. - [ExScim.Groups.Group](ExScim.Groups.Group.md): Group struct representing a SCIM Group resource. - [ExScim.Groups.Mapper](ExScim.Groups.Mapper.md): Converts between domain group structs and SCIM JSON representations. - [ExScim.Groups.Mapper.Adapter](ExScim.Groups.Mapper.Adapter.md): Group resource mapper behaviour. - [ExScim.Groups.Mapper.DefaultMapper](ExScim.Groups.Mapper.DefaultMapper.md): Default mapper implementation for basic SCIM group compliance. - [ExScim.Groups.Patcher](ExScim.Groups.Patcher.md): Applies SCIM PatchOp operations to group data (maps or structs). Handles multiple ops, optional path, simple/complex values, and removals. Supports both plain maps and domain structs with automatic key conversion. - [ExScim.Groups.ResourceImpl](ExScim.Groups.ResourceImpl.md) - [ExScim.Lifecycle](ExScim.Lifecycle.md): Facade for lifecycle hooks around SCIM operations. - [ExScim.Lifecycle.Adapter](ExScim.Lifecycle.Adapter.md): Behaviour for lifecycle hooks around SCIM operations. - [ExScim.Operations.Bulk](ExScim.Operations.Bulk.md): SCIM 2.0 Bulk Operations (RFC 7644 Section 3.7). - [ExScim.Operations.Groups](ExScim.Operations.Groups.md): Orchestration layer for SCIM group operations. - [ExScim.Operations.Users](ExScim.Operations.Users.md): Orchestration layer for SCIM user operations. - [ExScim.QueryFilter.Adapter](ExScim.QueryFilter.Adapter.md): Behaviour for converting SCIM filter ASTs into storage-level query logic. - [ExScim.QueryFilter.EtsQueryFilter](ExScim.QueryFilter.EtsQueryFilter.md): A SCIM filter engine for ETS-based user storage. Evaluates filter ASTs against in-memory user maps. - [ExScim.Resources.IdGenerator](ExScim.Resources.IdGenerator.md): Generates UUIDs for new SCIM resources. - [ExScim.Resources.Metadata](ExScim.Resources.Metadata.md): Handles SCIM metadata for resources: timestamping domain structs and computing/formatting the SCIM `meta` object (including ETag/version). - [ExScim.Resources.Resource](ExScim.Resources.Resource.md): Protocol for SCIM resource operations. - [ExScim.Resources.ResourceImpl](ExScim.Resources.ResourceImpl.md): Generic Map implementation of ExScim.Resources.Resource protocol. - [ExScim.Schema.Builder](ExScim.Schema.Builder.md): DSL for defining SCIM schemas declaratively. - [ExScim.Schema.Builder.Helpers](ExScim.Schema.Builder.Helpers.md): Pure functions for building SCIM schema maps. - [ExScim.Schema.Definitions.EnterpriseUser](ExScim.Schema.Definitions.EnterpriseUser.md): SCIM EnterpriseUser schema extension definition using the Builder DSL. - [ExScim.Schema.Definitions.Group](ExScim.Schema.Definitions.Group.md): SCIM Group schema definition using the Builder DSL. - [ExScim.Schema.Definitions.User](ExScim.Schema.Definitions.User.md): SCIM User schema definition using the Builder DSL. - [ExScim.Schema.Repository](ExScim.Schema.Repository.md): Schema repository interface that delegates to configurable adapters. - [ExScim.Schema.Repository.Adapter](ExScim.Schema.Repository.Adapter.md): Behaviour for SCIM schema repositories. - [ExScim.Schema.Repository.DefaultRepository](ExScim.Schema.Repository.DefaultRepository.md): Default SCIM schema repository that loads schemas from configured modules. - [ExScim.Schema.Repository.LegacyRepository](ExScim.Schema.Repository.LegacyRepository.md): Original RFC 7643 schema definitions (hardcoded maps). - [ExScim.Schema.Validator](ExScim.Schema.Validator.md): Validates incoming SCIM payloads against registered schemas. - [ExScim.Schema.Validator.Adapter](ExScim.Schema.Validator.Adapter.md): Behaviour for SCIM schema validators. - [ExScim.Schema.Validator.DefaultValidator](ExScim.Schema.Validator.DefaultValidator.md): RFC 7643 compliant SCIM schema validator. - [ExScim.Scope](ExScim.Scope.md): Represents the scope of a SCIM request: identity, authorization, and tenant context. - [ExScim.Storage](ExScim.Storage.md): Storage interface for SCIM resources using configurable adapters. - [ExScim.Storage.Adapter](ExScim.Storage.Adapter.md): Behaviour defining the contract for all storage backends. - [ExScim.Storage.EtsStorage](ExScim.Storage.EtsStorage.md): ETS-based in-memory storage implementation. - [ExScim.Tenant.Resolver](ExScim.Tenant.Resolver.md): Behaviour for resolving tenant context from an incoming request. - [ExScim.Users.Mapper](ExScim.Users.Mapper.md): Converts between domain user structs and SCIM JSON representations. - [ExScim.Users.Mapper.Adapter](ExScim.Users.Mapper.Adapter.md): User resource mapper behaviour. - [ExScim.Users.Mapper.DefaultMapper](ExScim.Users.Mapper.DefaultMapper.md): Default mapper implementation for basic SCIM compliance. - [ExScim.Users.Patcher](ExScim.Users.Patcher.md): Applies SCIM PatchOp operations to user data (maps or structs). Handles multiple ops, optional path, simple/complex values, and removals. Supports both plain maps and domain structs with automatic key conversion. - [ExScim.Users.ResourceImpl](ExScim.Users.ResourceImpl.md) - [ExScim.Users.User](ExScim.Users.User.md): User struct representing a SCIM User resource.