pub struct FileIdentityStore { /* private fields */ }Expand description
Filesystem-backed identity store.
Each account’s identities are persisted to
{base_dir}/identities/{account_id}.json.
Implementations§
Trait Implementations§
Source§impl IdentityStore for FileIdentityStore
impl IdentityStore for FileIdentityStore
Source§fn list_identities<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Identity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_identities<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Identity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return all identities for an account (pre-populates default if absent)
Source§fn get_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Identity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn get_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Identity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Return one identity by id, or None
Source§fn create_identity<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
identity: Identity,
) -> Pin<Box<dyn Future<Output = Result<Identity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_identity<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
identity: Identity,
) -> Pin<Box<dyn Future<Output = Result<Identity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a new identity, returning the stored object
Source§fn update_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
patch: &'life4 Value,
) -> Pin<Box<dyn Future<Output = Result<Identity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn update_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
patch: &'life4 Value,
) -> Pin<Box<dyn Future<Output = Result<Identity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Update an identity via a flat JSON patch (top-level keys only), returning the updated object
Source§fn delete_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Delete an identity by id; caller must reject “default” before calling
Source§fn state_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn state_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
account_id: &'life1 str,
username: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the current state token for an account
Auto Trait Implementations§
impl Freeze for FileIdentityStore
impl RefUnwindSafe for FileIdentityStore
impl Send for FileIdentityStore
impl Sync for FileIdentityStore
impl Unpin for FileIdentityStore
impl UnsafeUnpin for FileIdentityStore
impl UnwindSafe for FileIdentityStore
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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