Struct aruna_cache::cache::Cache
source · pub struct Cache {
pub graph_cache: DashMap<Resource, DashSet<Resource, RandomState>, RandomState>,
pub name_cache: DashMap<String, DashSet<Resource, RandomState>, RandomState>,
pub shared_to_pid: DashMap<DieselUlid, Resource, RandomState>,
pub pid_to_shared: DashMap<DieselUlid, Resource, RandomState>,
pub object_cache: DashMap<Resource, ApiResource, RandomState>,
pub permissions: DashMap<DieselUlid, DashMap<ResourcePermission, PermissionLevel, RandomState>, RandomState>,
pub pubkeys: DashMap<i32, PubKey, RandomState>,
pub oidc_ids: DashMap<String, (DieselUlid, String), RandomState>,
pub token_ids: DashMap<DieselUlid, DieselUlid, RandomState>,
}Fields§
§graph_cache: DashMap<Resource, DashSet<Resource, RandomState>, RandomState>§name_cache: DashMap<String, DashSet<Resource, RandomState>, RandomState>§object_cache: DashMap<Resource, ApiResource, RandomState>§permissions: DashMap<DieselUlid, DashMap<ResourcePermission, PermissionLevel, RandomState>, RandomState>§pubkeys: DashMap<i32, PubKey, RandomState>§oidc_ids: DashMap<String, (DieselUlid, String), RandomState>§token_ids: DashMap<DieselUlid, DieselUlid, RandomState>Implementations§
source§impl Cache
impl Cache
pub fn new() -> Self
pub fn traverse_graph( &self, from: &Resource ) -> Result<Vec<(Resource, Resource)>>
pub fn get_parents_with_targets( &self, from: &Resource, targets: Vec<Resource> ) -> Result<()>
pub fn get_parents(&self, from: &Resource) -> Result<Vec<(Resource, Resource)>>
pub fn remove_all_res(&self, res: Resource)
pub fn add_name(&self, res: Resource, name: String)
pub fn remove_name(&self, res: Resource, name: Option<String>)
pub fn add_link(&self, from: Resource, to: Resource) -> Result<()>
pub fn remove_link(&self, from: Resource, to: Resource)
pub fn get_persistent(&self, shared: &DieselUlid) -> Option<Resource>
pub fn add_or_update_permission( &self, id: DieselUlid, perm: (ResourcePermission, PermissionLevel) )
pub fn remove_permission( &self, id: DieselUlid, res: Option<ResourcePermission>, full_entry: bool )
pub fn get_permissions( &self, id: &DieselUlid ) -> Option<Vec<(ResourcePermission, PermissionLevel)>>
pub fn add_pubkey(&self, id: i32, pk: PubKey)
pub fn remove_pubkey(&self, id: i32)
pub fn set_pubkeys(&self, pks: Vec<Pubkey>)
pub fn get_pubkeys(&self) -> Vec<PubKey>
pub fn add_oidc(&self, oidc_id: String, user_id: DieselUlid, url: String)
pub fn remove_oidc(&self, oidc_id: &str)
pub fn get_user_perm_by_oidc( &self, oidc_id: &str ) -> Option<Vec<(ResourcePermission, PermissionLevel)>>
pub fn add_user_token(&self, token_id: DieselUlid, user_id: DieselUlid)
pub fn remove_user_token(&self, token_id: DieselUlid)
pub fn get_user_by_token(&self, token_id: DieselUlid) -> Option<DieselUlid>
pub fn remove_all_tokens_by_user(&self, user_id: DieselUlid)
pub fn parse_and_update_user_info(&self, uinfo: User) -> Option<()>
pub fn process_api_resource_update( &self, res: ApiResource, shared_id: DieselUlid, persistent_resource: Resource ) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Cache
impl Send for Cache
impl Sync for Cache
impl Unpin for Cache
impl UnwindSafe for Cache
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request