pub struct StatelessSchema;Expand description
Wire schema for deployments that do not configure a database.
Trait Implementations§
Source§impl AccountStore<StatelessSchema> for StatelessStore
impl AccountStore<StatelessSchema> for StatelessStore
fn create_account<'life0, 'async_trait>(
&'life0 self,
create_account: CreateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AccountView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
provider_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AccountView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
provider_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AccountView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolve a global provider identity only when exactly one physical row matches.
Duplicate rows (including duplicates owned by one user) must return
DatabaseError::AmbiguousAccount; choosing a row would make ownership arbitrary.Source§fn get_user_accounts<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AccountView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_accounts<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AccountView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return all scoped physical rows in the adapter’s native order. Do not
select or collapse duplicate provider identities, or sort by mutable dates.
fn update_account<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AccountView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_account<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn provider_token_text<'life0, 'life1, 'async_trait>(
&'life0 self,
value: &'life1 Value,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn provider_token_text<'life0, 'life1, 'async_trait>(
&'life0 self,
value: &'life1 Value,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Apply the physical token TEXT column’s scalar affinity before persistence.
SQL adapters override this for their own boolean/numeric representation.
Source§fn create_account_record<'life0, 'async_trait>(
&'life0 self,
create_account: CreateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Account>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_account_record<'life0, 'async_trait>(
&'life0 self,
create_account: CreateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Account>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_account_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
provider_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Account>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_account_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
provider_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Account>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_credential_account_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Account>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_credential_account_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Account>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Retain the selected physical credential result. Initialization applies
output policy only to that selected row, never unrelated linked accounts.
fn get_user_accounts_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Account>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn update_account_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Account>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_account_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Account>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§impl AuthSchema for StatelessSchema
impl AuthSchema for StatelessSchema
type User = UserView
type Session = SessionView
type Account = AccountView
type Verification = VerificationView
Preserve an authenticated cache snapshot only when the application user
type is itself a wire snapshot. Never reconstruct a database model from
cookie data. Typed physical guards reject cached-only authority otherwise.
Source§fn openapi_models() -> Vec<OpenApiModel>
fn openapi_models() -> Vec<OpenApiModel>
Wire model projections for this application schema.
Add application fields here with their actual input/output policy; database
column names do not change canonical accessor-backed wire field names.
Source§impl SessionStore<StatelessSchema> for StatelessStore
impl SessionStore<StatelessSchema> for StatelessStore
Source§fn prepare_secondary_session_creation<'life0, 'async_trait>(
&'life0 self,
input: CreateSession,
persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<SessionView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prepare_secondary_session_creation<'life0, 'async_trait>(
&'life0 self,
input: CreateSession,
persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<SessionView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stage a secondary session through creation hooks and optional physical persistence.
The caller publishes the cache before completing its after hooks.
Source§fn complete_secondary_session_creation<'life0, 'life1, 'async_trait>(
&'life0 self,
_session: &'life1 SessionView,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete_secondary_session_creation<'life0, 'life1, 'async_trait>(
&'life0 self,
_session: &'life1 SessionView,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Complete creation hooks after the actual secondary writes succeed.
fn create_session<'life0, 'async_trait>(
&'life0 self,
input: CreateSession,
) -> Pin<Box<dyn Future<Output = AuthResult<SessionView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn prepare_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
session: SessionView,
expires_at: Option<DateTime<Utc>>,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<(SessionView, FieldValues)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prepare_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
session: SessionView,
expires_at: Option<DateTime<Utc>>,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<(SessionView, FieldValues)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Bind a trusted secondary update once, retaining hook-mutated fields for physical publication.
Source§fn complete_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
session: SessionView,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SessionView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn complete_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
session: SessionView,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SessionView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Publish the staged physical update and run after hooks exactly once.
fn get_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SessionView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
_user: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<SessionView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_session_expiry<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_expires: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_session_active_organization<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<SessionView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_user_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
_user: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_expired_sessions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = AuthResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn end_session_preserving<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn end_session_preserving<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
End a still-live physical session without deleting its audit row.
Source§fn end_user_sessions_preserving<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn end_user_sessions_preserving<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
End all live session rows for one owner while retaining audit history.
Source§fn get_session_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_session_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
A typed user snapshot belonging to an authenticated session. The default
signals that the caller must use its physical user store.
Source§fn get_session_user_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_session_user_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retain declared adapter output for a secondary-backed session owner.
Source§fn create_session_record<'life0, 'async_trait>(
&'life0 self,
create_session: CreateSession,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_session_record<'life0, 'async_trait>(
&'life0 self,
create_session: CreateSession,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_session_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_session_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_sessions_by_tokens_record<'life0, 'life1, 'async_trait>(
&'life0 self,
tokens: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_sessions_by_tokens_record<'life0, 'life1, 'async_trait>(
&'life0 self,
tokens: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_user_sessions_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_sessions_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_active_user_sessions_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_active_user_sessions_record<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return active physical sessions after declared output transforms. Expiry
selection runs before application callbacks, without trusting output fields.
Source§fn refresh_session_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn refresh_session_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn update_session_fields_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_session_fields_record<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::Session>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn update_session_active_organization_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
organization_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_session_active_organization_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
organization_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn update_session_active_team_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
team_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_session_active_team_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
team_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn update_session_fields<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_session_fields<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Persist already authorized fields for the currently authenticated token.
Source§fn get_session_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_session_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the physical session row by its ID for signed-token liveness.
Source§fn get_sessions_by_tokens<'life0, 'life1, 'async_trait>(
&'life0 self,
tokens: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_sessions_by_tokens<'life0, 'life1, 'async_trait>(
&'life0 self,
tokens: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch matching sessions once each, including expired rows. The bundled
SQLite adapter returns token-index order rather than request order.
Source§fn refresh_session_with_fields<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn refresh_session_with_fields<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Refresh expiry and configured fields in one physical update. Adapters
supporting additional values must override this operation so their actual
before hooks precede binding and their after hooks see the final row.
The fallback preserves plain refresh and fails closed on additional writes.
Source§fn refresh_session<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn refresh_session<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Refresh the persisted expiry and return the updated snapshot. A session
removed before the update returns
None, never its old credentials.fn update_session_active_team<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_team_id: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Session>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl TransactionStore<StatelessSchema> for StatelessStore
impl TransactionStore<StatelessSchema> for StatelessStore
fn transaction_boxed<'life0, 'async_trait>(
&'life0 self,
work: Box<TransactionWork<StatelessSchema>>,
) -> Pin<Box<dyn Future<Output = AuthResult<BoxedTransactionValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_boxed_with_policy<'life0, 'async_trait>(
&'life0 self,
work: Box<TransactionWork<S>>,
policy: AfterCommitErrorPolicy,
) -> Pin<Box<dyn Future<Output = AuthResult<BoxedTransactionValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl UserStore<StatelessSchema> for StatelessStore
impl UserStore<StatelessSchema> for StatelessStore
fn create_user<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<UserView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn create_user_prepared<'life0, 'async_trait>(
&'life0 self,
prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<UserView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_user_prepared<'life0, 'async_trait>(
&'life0 self,
prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<UserView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist a normalized, admitted candidate without normalizing trusted
callback mutations again. Unsupported custom adapters fail closed.
fn get_user_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn list_users_by_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_users_by_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch multiple users by id. Read more
Source§fn list_users_by_ids_page<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
limit: f64,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_users_by_ids_page<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
limit: f64,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Apply the adapter’s raw numeric page to actual matching users. Unsupported
stores fail closed rather than rounding, capping, or delegating to an unpaged read.
fn get_user_by_email<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_username<'life0, 'life1, 'async_trait>(
&'life0 self,
username: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_phone_number<'life0, 'life1, 'async_trait>(
&'life0 self,
phone_number: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<UserView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_user<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<UserView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_user<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_users<'life0, 'async_trait>(
&'life0 self,
_params: ListUsersParams,
) -> Pin<Box<dyn Future<Output = AuthResult<(Vec<UserView>, usize)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn provider_verification_output<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn provider_verification_output<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the provider verification column using the adapter’s physical scalar
rules. This is retained output, not authorization input; typed models
continue to supply the canonical boolean accessor.
Source§fn create_user_record<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_user_record<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn create_user_with_source_record<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
source: UserValidationSource,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_user_with_source_record<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
source: UserValidationSource,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn create_user_prepared_record<'life0, 'async_trait>(
&'life0 self,
prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_user_prepared_record<'life0, 'async_trait>(
&'life0 self,
prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_user_by_id_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_id_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_user_by_email_record<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_email_record<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_user_by_username_record<'life0, 'life1, 'async_trait>(
&'life0 self,
username: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_username_record<'life0, 'life1, 'async_trait>(
&'life0 self,
username: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn get_user_by_phone_number_record<'life0, 'life1, 'async_trait>(
&'life0 self,
phone_number: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_by_phone_number_record<'life0, 'life1, 'async_trait>(
&'life0 self,
phone_number: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn list_users_by_ids_record<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_users_by_ids_record<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn list_users_by_ids_page_record<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
limit: f64,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_users_by_ids_page_record<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
limit: f64,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<AdapterRecord<S::User>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn update_user_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_user_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
update: UpdateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<AdapterRecord<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn list_users_record<'life0, 'async_trait>(
&'life0 self,
params: ListUsersParams,
) -> Pin<Box<dyn Future<Output = AuthResult<(Vec<AdapterRecord<S::User>>, usize)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_users_record<'life0, 'async_trait>(
&'life0 self,
params: ListUsersParams,
) -> Pin<Box<dyn Future<Output = AuthResult<(Vec<AdapterRecord<S::User>>, usize)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a retained adapter record. The default is the physical model’s
serialized snapshot; initialized stores apply their declared output policy.
Source§fn create_user_with_source<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
_source: UserValidationSource,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_user_with_source<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
_source: UserValidationSource,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create with endpoint-owned identity provenance, retaining the finalized
instance’s validation and database-hook ordering.
Source§fn coerce_user_text_number<'life0, 'async_trait>(
&'life0 self,
_input: NumericTextInput,
) -> Pin<Box<dyn Future<Output = AuthResult<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn coerce_user_text_number<'life0, 'async_trait>(
&'life0 self,
_input: NumericTextInput,
) -> Pin<Box<dyn Future<Output = AuthResult<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Coerce a numeric binding with the configured adapter’s text semantics.
Custom adapters must implement this explicitly when accepting such input.
Source§impl VerificationStore<StatelessSchema> for StatelessStore
impl VerificationStore<StatelessSchema> for StatelessStore
Source§fn create_verification_record<'life0, 'async_trait>(
&'life0 self,
data: VerificationCreation,
publication: VerificationPublication,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationSnapshot>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_verification_record<'life0, 'async_trait>(
&'life0 self,
data: VerificationCreation,
publication: VerificationPublication,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationSnapshot>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create through before hooks, optional physical persistence, secondary
publication, then after hooks. Unsupported adapters must fail closed.
Source§fn consume_verification_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn consume_verification_snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically remove the newest generation and all siblings, returning the
actual winning snapshot even when expired. This keeps legacy fallback
from resurrecting an older logical generation.
Source§fn update_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
data: UpdateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationSnapshot>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
data: UpdateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationSnapshot>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update every physical match, with one actual adapter result snapshot.
Source§fn reserve_verification_record<'life0, 'life1, 'async_trait>(
&'life0 self,
logical_identifier: &'life1 str,
data: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reserve_verification_record<'life0, 'life1, 'async_trait>(
&'life0 self,
logical_identifier: &'life1 str,
data: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reserve by the original logical identifier while storing its configured
transformed identifier. Return the actual newly inserted model only.
fn create_verification<'life0, 'async_trait>(
&'life0 self,
verification: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<VerificationView>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_verification<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
value: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_verification_by_value<'life0, 'life1, 'async_trait>(
&'life0 self,
value: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn consume_verification<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
value: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn get_latest_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_latest_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch the newest generation, including expired records. The caller
decides whether cleanup and a distinct expiry error are required.
Source§fn consume_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn consume_verification_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<VerificationView>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically invalidate an identifier and return its newest generation.
Exactly one concurrent caller can receive a row. Expired records are
removed along with every sibling and return
None.fn delete_verifications_by_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
identifier: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn compare_and_swap_verification<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 str,
expected_value: &'life2 str,
value: &'life3 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn compare_and_swap_verification<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 str,
expected_value: &'life2 str,
value: &'life3 str,
expires_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Update a generation only when its value still matches the snapshot.
Source§fn reserve_verification<'life0, 'async_trait>(
&'life0 self,
verification: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reserve_verification<'life0, 'async_trait>(
&'life0 self,
verification: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert a deterministic reservation exactly once. An expired marker
remains reserved until it is cleaned up or explicitly consumed.
fn delete_verification<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_expired_verifications<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = AuthResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for StatelessSchema
impl RefUnwindSafe for StatelessSchema
impl Send for StatelessSchema
impl Sync for StatelessSchema
impl Unpin for StatelessSchema
impl UnsafeUnpin for StatelessSchema
impl UnwindSafe for StatelessSchema
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