pub struct NamespaceManager { /* private fields */ }Expand description
Namespace manager for tenant data isolation
Implementations§
Source§impl NamespaceManager
impl NamespaceManager
Sourcepub fn new(strategy: IsolationStrategy) -> Self
pub fn new(strategy: IsolationStrategy) -> Self
Create new namespace manager
Sourcepub fn register_tenant(
&self,
tenant_id: impl Into<String>,
) -> MultiTenancyResult<String>
pub fn register_tenant( &self, tenant_id: impl Into<String>, ) -> MultiTenancyResult<String>
Register namespace for tenant
Sourcepub fn unregister_tenant(&self, tenant_id: &str) -> MultiTenancyResult<()>
pub fn unregister_tenant(&self, tenant_id: &str) -> MultiTenancyResult<()>
Unregister tenant namespace
Sourcepub fn get_prefix(&self, tenant_id: &str) -> MultiTenancyResult<String>
pub fn get_prefix(&self, tenant_id: &str) -> MultiTenancyResult<String>
Get namespace prefix for tenant
Sourcepub fn qualify_key(
&self,
tenant_id: &str,
key: &str,
) -> MultiTenancyResult<String>
pub fn qualify_key( &self, tenant_id: &str, key: &str, ) -> MultiTenancyResult<String>
Qualify key with tenant namespace
Sourcepub fn extract_tenant_id(
&self,
namespaced_key: &str,
) -> MultiTenancyResult<String>
pub fn extract_tenant_id( &self, namespaced_key: &str, ) -> MultiTenancyResult<String>
Extract tenant ID from namespaced key
Sourcepub fn validate_access(
&self,
tenant_id: &str,
key: &str,
) -> MultiTenancyResult<bool>
pub fn validate_access( &self, tenant_id: &str, key: &str, ) -> MultiTenancyResult<bool>
Validate that a key belongs to a tenant
Sourcepub fn create_sub_namespace(
&self,
tenant_id: &str,
name: impl Into<String>,
) -> MultiTenancyResult<String>
pub fn create_sub_namespace( &self, tenant_id: &str, name: impl Into<String>, ) -> MultiTenancyResult<String>
Create sub-namespace for tenant
Sourcepub fn list_namespaces(&self) -> MultiTenancyResult<Vec<String>>
pub fn list_namespaces(&self) -> MultiTenancyResult<Vec<String>>
Get all namespaces
Sourcepub fn strategy(&self) -> &IsolationStrategy
pub fn strategy(&self) -> &IsolationStrategy
Get isolation strategy
Auto Trait Implementations§
impl Freeze for NamespaceManager
impl RefUnwindSafe for NamespaceManager
impl Send for NamespaceManager
impl Sync for NamespaceManager
impl Unpin for NamespaceManager
impl UnwindSafe for NamespaceManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.