pub struct ApiKeyManager { /* private fields */ }Expand description
Creates, validates, revokes, and lists API keys.
Implementations§
Source§impl ApiKeyManager
impl ApiKeyManager
Sourcepub fn new(pool: SqlitePool) -> Self
pub fn new(pool: SqlitePool) -> Self
Creates a new API key manager backed by a SQLite pool.
Sourcepub async fn create_key(
&self,
workspace_id: Uuid,
label: &str,
) -> GuardResult<(String, ApiKeyRecord)>
pub async fn create_key( &self, workspace_id: Uuid, label: &str, ) -> GuardResult<(String, ApiKeyRecord)>
Generates, stores, and returns a new API key.
Sourcepub async fn validate_key(&self, raw_key: &str) -> GuardResult<ApiKeyRecord>
pub async fn validate_key(&self, raw_key: &str) -> GuardResult<ApiKeyRecord>
Validates a raw API key against the stored hash.
Sourcepub async fn revoke_key(&self, id: Uuid) -> GuardResult<()>
pub async fn revoke_key(&self, id: Uuid) -> GuardResult<()>
Revokes an API key.
Sourcepub async fn list_keys(
&self,
workspace_id: Uuid,
) -> GuardResult<Vec<ApiKeyRecord>>
pub async fn list_keys( &self, workspace_id: Uuid, ) -> GuardResult<Vec<ApiKeyRecord>>
Lists API keys for a workspace.
Trait Implementations§
Source§impl Clone for ApiKeyManager
impl Clone for ApiKeyManager
Source§fn clone(&self) -> ApiKeyManager
fn clone(&self) -> ApiKeyManager
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 ApiKeyManager
impl !RefUnwindSafe for ApiKeyManager
impl Send for ApiKeyManager
impl Sync for ApiKeyManager
impl Unpin for ApiKeyManager
impl UnsafeUnpin for ApiKeyManager
impl !UnwindSafe for ApiKeyManager
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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