pub struct FilePermissionStore { /* private fields */ }Expand description
File-based permission store
Stores permissions in a JSON file at a configurable location.
Default: ~/.config/<app>/permissions.json
Implementations§
Source§impl FilePermissionStore
impl FilePermissionStore
Sourcepub fn new(path: impl AsRef<Path>) -> Result<Self, StoreError>
pub fn new(path: impl AsRef<Path>) -> Result<Self, StoreError>
Create a new file-based store at the specified path
Sourcepub fn default_for_app(app_name: &str) -> Result<Self, StoreError>
pub fn default_for_app(app_name: &str) -> Result<Self, StoreError>
Create a store in the default location for an application
Trait Implementations§
Source§impl Debug for FilePermissionStore
impl Debug for FilePermissionStore
Source§impl PermissionStore for FilePermissionStore
impl PermissionStore for FilePermissionStore
Source§fn get(&self, key: &str) -> Result<Option<StoredPermission>, StoreError>
fn get(&self, key: &str) -> Result<Option<StoredPermission>, StoreError>
Get stored permission for a plugin
Source§fn set(&self, key: &str, permission: StoredPermission) -> Result<(), StoreError>
fn set(&self, key: &str, permission: StoredPermission) -> Result<(), StoreError>
Store permission for a plugin
Source§fn list(&self) -> Result<Vec<(String, StoredPermission)>, StoreError>
fn list(&self) -> Result<Vec<(String, StoredPermission)>, StoreError>
List all stored permissions
Auto Trait Implementations§
impl !Freeze for FilePermissionStore
impl RefUnwindSafe for FilePermissionStore
impl Send for FilePermissionStore
impl Sync for FilePermissionStore
impl Unpin for FilePermissionStore
impl UnwindSafe for FilePermissionStore
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 more