CapabilityDiscovery

Struct CapabilityDiscovery 

Source
pub struct CapabilityDiscovery;
Expand description

Automatic capability discovery engine that introspects server configuration

Implementations§

Source§

impl CapabilityDiscovery

Source

pub fn discover_capabilities<P>( schema_registry: &SchemaRegistry, resource_handlers: &HashMap<String, Arc<ResourceHandler>>, supported_operations: &HashMap<String, Vec<ScimOperation>>, _provider: &P, ) -> Result<ProviderCapabilities, ScimError>

Discover all provider capabilities from the current server state

This method introspects the registered resource types, schemas, and provider implementation to automatically determine what capabilities are supported.

Source

pub fn discover_capabilities_with_introspection<P>( schema_registry: &SchemaRegistry, resource_handlers: &HashMap<String, Arc<ResourceHandler>>, supported_operations: &HashMap<String, Vec<ScimOperation>>, provider: &P, ) -> Result<ProviderCapabilities, ScimError>

Discover capabilities with provider introspection

This version works with providers that implement CapabilityIntrospectable to get provider-specific capability information.

Source

pub fn generate_service_provider_config( capabilities: &ProviderCapabilities, ) -> ServiceProviderConfig

Generate RFC 7644 compliant ServiceProviderConfig from discovered capabilities

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> TenantValidator for T

Source§

fn validate_tenant_context( &self, expected_tenant_id: &str, context: &RequestContext, ) -> Result<(), String>

Validate that the context has the expected tenant.
Source§

fn validate_single_tenant_context( &self, context: &RequestContext, ) -> Result<(), String>

Validate that the context is for single-tenant operation.
Source§

fn require_tenant_context(&self, context: &RequestContext) -> Result<(), String>

Extract tenant context or return error for multi-tenant operations.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.