pub struct MultiTenantWorkspaceRegistry { /* private fields */ }
Expand description
Multi-tenant workspace registry for managing multiple isolated workspaces
Implementations§
Source§impl MultiTenantWorkspaceRegistry
impl MultiTenantWorkspaceRegistry
Sourcepub fn new(config: MultiTenantConfig) -> Self
pub fn new(config: MultiTenantConfig) -> Self
Create a new multi-tenant workspace registry
Sourcepub fn with_default_workspace(workspace_name: String) -> Self
pub fn with_default_workspace(workspace_name: String) -> Self
Create with default configuration
Sourcepub fn register_workspace(
&mut self,
workspace_id: String,
workspace: Workspace,
) -> Result<()>
pub fn register_workspace( &mut self, workspace_id: String, workspace: Workspace, ) -> Result<()>
Register a new workspace
Sourcepub fn get_workspace(&self, workspace_id: &str) -> Result<TenantWorkspace>
pub fn get_workspace(&self, workspace_id: &str) -> Result<TenantWorkspace>
Get a workspace by ID
Sourcepub fn get_default_workspace(&self) -> Result<TenantWorkspace>
pub fn get_default_workspace(&self) -> Result<TenantWorkspace>
Get the default workspace
Sourcepub fn update_workspace(
&mut self,
workspace_id: &str,
workspace: Workspace,
) -> Result<()>
pub fn update_workspace( &mut self, workspace_id: &str, workspace: Workspace, ) -> Result<()>
Update workspace
Sourcepub fn remove_workspace(&mut self, workspace_id: &str) -> Result<()>
pub fn remove_workspace(&mut self, workspace_id: &str) -> Result<()>
Remove a workspace
Sourcepub fn list_workspaces(&self) -> Result<Vec<(String, TenantWorkspace)>>
pub fn list_workspaces(&self) -> Result<Vec<(String, TenantWorkspace)>>
List all workspaces
Sourcepub fn resolve_workspace(
&self,
workspace_id: Option<&str>,
) -> Result<TenantWorkspace>
pub fn resolve_workspace( &self, workspace_id: Option<&str>, ) -> Result<TenantWorkspace>
Get workspace by ID or default
Sourcepub fn touch_workspace(&mut self, workspace_id: &str) -> Result<()>
pub fn touch_workspace(&mut self, workspace_id: &str) -> Result<()>
Update workspace last accessed time
Sourcepub fn update_workspace_stats(
&mut self,
workspace_id: &str,
response_time_ms: f64,
) -> Result<()>
pub fn update_workspace_stats( &mut self, workspace_id: &str, response_time_ms: f64, ) -> Result<()>
Update workspace statistics
Sourcepub fn workspace_count(&self) -> Result<usize>
pub fn workspace_count(&self) -> Result<usize>
Get workspace count
Sourcepub fn workspace_exists(&self, workspace_id: &str) -> bool
pub fn workspace_exists(&self, workspace_id: &str) -> bool
Check if workspace exists
Sourcepub fn set_workspace_enabled(
&mut self,
workspace_id: &str,
enabled: bool,
) -> Result<()>
pub fn set_workspace_enabled( &mut self, workspace_id: &str, enabled: bool, ) -> Result<()>
Enable/disable a workspace
Sourcepub fn global_logger(&self) -> &Arc<CentralizedRequestLogger>
pub fn global_logger(&self) -> &Arc<CentralizedRequestLogger>
Get the global request logger
Sourcepub fn config(&self) -> &MultiTenantConfig
pub fn config(&self) -> &MultiTenantConfig
Get configuration
Sourcepub fn extract_workspace_id_from_path(&self, path: &str) -> Option<String>
pub fn extract_workspace_id_from_path(&self, path: &str) -> Option<String>
Extract workspace ID from request path
Sourcepub fn strip_workspace_prefix(&self, path: &str, workspace_id: &str) -> String
pub fn strip_workspace_prefix(&self, path: &str, workspace_id: &str) -> String
Strip workspace prefix from path
Trait Implementations§
Source§impl Clone for MultiTenantWorkspaceRegistry
impl Clone for MultiTenantWorkspaceRegistry
Source§fn clone(&self) -> MultiTenantWorkspaceRegistry
fn clone(&self) -> MultiTenantWorkspaceRegistry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for MultiTenantWorkspaceRegistry
impl !RefUnwindSafe for MultiTenantWorkspaceRegistry
impl Send for MultiTenantWorkspaceRegistry
impl Sync for MultiTenantWorkspaceRegistry
impl Unpin for MultiTenantWorkspaceRegistry
impl !UnwindSafe for MultiTenantWorkspaceRegistry
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