pub trait AuthTransaction<S: AuthSchema>: Send + Sync {
Show 63 methods
// Required methods
fn create_user<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_account<'life0, 'async_trait>(
&'life0 self,
create_account: CreateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Account>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_session<'life0, 'async_trait>(
&'life0 self,
create_session: CreateSession,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Session>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn check_scim_user_attributes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_attributes: &'life3 ScimUserAttributes,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn lock_scim_user<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_attributes: Option<&'life4 ScimUserAttributes>,
_now: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<ScimUserMutationContext>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait { ... }
fn replace_scim_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_data: ReplaceScimUser,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimUserRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn create_scim_user<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimUser,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimUserRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn delete_scim_user<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(String, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn patch_scim_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_patch: ScimGroupPatch,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn replace_scim_group<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_data: ReplaceScimGroup,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn delete_scim_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionPreparedUser>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn create_scim_group<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimGroup,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn fence_scim_connection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_key: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn get_scim_connection_binding<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<ScimConnectionBinding>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn scim_projection_candidates<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_cursor: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionCandidate>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn renew_scim_decommission_lease<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_binding: &'life1 ScimConnectionBinding,
_lease: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn advance_scim_decommission<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_binding: &'life1 ScimConnectionBinding,
_lease: &'life2 str,
_cursor: Option<&'life3 str>,
_count: usize,
_more: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<ScimConnectionBinding>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn reconcile_scim_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<ScimIdentityState>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn delete_user_sessions<'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 get_user_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<S::Session>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn list_oauth_tokens_for_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_kind: OAuthTokenKind,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<OAuthToken>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_oauth_client<'life0, 'life1, 'async_trait>(
&'life0 self,
_client_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<OAuthClient>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn queue_session_deletion_work<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
_works: Vec<Box<dyn SessionDeletionWork<S>>>,
_context: Arc<AuthContext<S>>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn prepare_scim_projection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_ids: &'life2 [String],
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionPreparedUser>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn create_scim_projection_grant<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimProjectionGrant,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn remove_scim_projection_grants<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_user_id: &'life2 str,
_ids: &'life3 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait { ... }
fn get_user_by_email<'life0, 'life1, 'async_trait>(
&'life0 self,
_email: &'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_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_provider: &'life1 str,
_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Account>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn update_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_update: UpdateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn update_account<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_update: UpdateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Account>> + 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 { ... }
fn get_account_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
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 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_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 lock_sso_provider<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn update_sso_provider<'life0, 'async_trait>(
&'life0 self,
_update: SsoProviderUpdate,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn delete_sso_provider_and_accounts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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 { ... }
fn prepare_secondary_session_creation<'life0, 'async_trait>(
&'life0 self,
_input: CreateSession,
_persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Session>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn prepare_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<(S::Session, FieldValues)>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn complete_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
_persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn list_jwks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<Jwk>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_jwk_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Jwk>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn create_jwk<'life0, 'async_trait>(
&'life0 self,
_data: CreateJwk,
) -> Pin<Box<dyn Future<Output = AuthResult<Jwk>> + 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 { ... }
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_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 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 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_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 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_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 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 get_team<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_organization_id: &'life1 str,
_team_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Team>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn add_team_member<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_team_id: &'life1 str,
_user_id: &'life2 str,
_maximum: Option<f64>,
) -> Pin<Box<dyn Future<Output = AuthResult<AddTeamMemberResult>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn create_member<'life0, 'async_trait>(
&'life0 self,
_member: CreateMember,
) -> Pin<Box<dyn Future<Output = AuthResult<Member>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
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 { ... }
fn update_session_active_organization<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_organization_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 { ... }
fn get_user_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'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 create_passkey<'life0, 'async_trait>(
&'life0 self,
_passkey: CreatePasskey,
) -> Pin<Box<dyn Future<Output = AuthResult<Passkey>> + 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 { ... }
fn create_user_prepared<'life0, 'async_trait>(
&'life0 self,
_prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn create_verification<'life0, 'async_trait>(
&'life0 self,
_verification: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Verification>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
}Required Methods§
fn create_user<'life0, 'async_trait>(
&'life0 self,
create_user: CreateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_account<'life0, 'async_trait>(
&'life0 self,
create_account: CreateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Account>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_session<'life0, 'async_trait>(
&'life0 self,
create_session: CreateSession,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Session>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provided Methods§
fn check_scim_user_attributes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_attributes: &'life3 ScimUserAttributes,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn lock_scim_user<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_attributes: Option<&'life4 ScimUserAttributes>,
_now: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = AuthResult<ScimUserMutationContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn replace_scim_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_data: ReplaceScimUser,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimUserRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_scim_user<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimUser,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimUserRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_scim_user<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(String, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn patch_scim_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_patch: ScimGroupPatch,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn replace_scim_group<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_data: ReplaceScimGroup,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_scim_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_connection: &'life2 str,
_domain: &'life3 str,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionPreparedUser>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn create_scim_group<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimGroup,
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<(ScimGroupRecord, Vec<ScimProjectionPreparedUser>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fence_scim_connection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_key: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_scim_connection_binding<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<ScimConnectionBinding>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn scim_projection_candidates<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_cursor: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionCandidate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn renew_scim_decommission_lease<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_binding: &'life1 ScimConnectionBinding,
_lease: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn advance_scim_decommission<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_binding: &'life1 ScimConnectionBinding,
_lease: &'life2 str,
_cursor: Option<&'life3 str>,
_count: usize,
_more: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<ScimConnectionBinding>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn reconcile_scim_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<ScimIdentityState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_user_sessions<'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,
Sourcefn get_user_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read session deletion candidates on this transaction’s connection.
fn list_oauth_tokens_for_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_kind: OAuthTokenKind,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<OAuthToken>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_oauth_client<'life0, 'life1, 'async_trait>(
&'life0 self,
_client_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<OAuthClient>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sourcefn queue_session_deletion_work<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
_works: Vec<Box<dyn SessionDeletionWork<S>>>,
_context: Arc<AuthContext<S>>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn queue_session_deletion_work<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
_works: Vec<Box<dyn SessionDeletionWork<S>>>,
_context: Arc<AuthContext<S>>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Attach prepared retirement to the matching queued delete-after event. A veto or missing row has no event and must not complete the work.
fn prepare_scim_projection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_ids: &'life2 [String],
_roles: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<ScimProjectionPreparedUser>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_scim_projection_grant<'life0, 'async_trait>(
&'life0 self,
_data: CreateScimProjectionGrant,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_scim_projection_grants<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_domain: &'life1 str,
_user_id: &'life2 str,
_ids: &'life3 [String],
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn get_user_by_email<'life0, 'life1, 'async_trait>(
&'life0 self,
_email: &'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_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_provider: &'life1 str,
_account_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Account>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_user<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_update: UpdateUser,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_account<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_update: UpdateAccount,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Account>> + 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,
fn get_account_record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
provider: &'life1 str,
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 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_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,
Sourcefn lock_sso_provider<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn lock_sso_provider<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Lock and read a persisted enterprise provider on this transaction’s connection.
Sourcefn update_sso_provider<'life0, 'async_trait>(
&'life0 self,
_update: SsoProviderUpdate,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_sso_provider<'life0, 'async_trait>(
&'life0 self,
_update: SsoProviderUpdate,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<SsoProvider>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Apply a prepared provider update, including linked-account boundary protection.
Sourcefn delete_sso_provider_and_accounts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_sso_provider_and_accounts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 str,
_provider_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Retire a provider and its identity namespace in this transaction.
Sourcefn 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.
Sourcefn prepare_secondary_session_creation<'life0, 'async_trait>(
&'life0 self,
_input: CreateSession,
_persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Session>> + 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<S::Session>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stage a session using the actual transaction-local model and creation hooks.
Sourcefn prepare_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<(S::Session, FieldValues)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prepare_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<(S::Session, FieldValues)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stage an update against a trusted cached model using this transaction’s hooks.
Sourcefn complete_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
_persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn complete_secondary_session_update<'life0, 'async_trait>(
&'life0 self,
_session: S::Session,
_expires_at: Option<DateTime<Utc>>,
_fields: FieldValues,
_persist: bool,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist a staged update on the current connection; after hooks belong to commit.
Sourcefn list_jwks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<Jwk>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_jwks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = AuthResult<Vec<Jwk>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Read the managed signing keyring on this transaction’s connection.
Sourcefn get_jwk_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Jwk>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_jwk_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Jwk>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find a managed signing key on this transaction’s connection.
Sourcefn create_jwk<'life0, 'async_trait>(
&'life0 self,
_data: CreateJwk,
) -> Pin<Box<dyn Future<Output = AuthResult<Jwk>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_jwk<'life0, 'async_trait>(
&'life0 self,
_data: CreateJwk,
) -> Pin<Box<dyn Future<Output = AuthResult<Jwk>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist a newly generated managed signing key in this transaction.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn get_team<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_organization_id: &'life1 str,
_team_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Team>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_team<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_organization_id: &'life1 str,
_team_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<Team>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read a team within the authorized organization through this transaction.
Sourcefn add_team_member<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_team_id: &'life1 str,
_user_id: &'life2 str,
_maximum: Option<f64>,
) -> Pin<Box<dyn Future<Output = AuthResult<AddTeamMemberResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_team_member<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_team_id: &'life1 str,
_user_id: &'life2 str,
_maximum: Option<f64>,
) -> Pin<Box<dyn Future<Output = AuthResult<AddTeamMemberResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Add an idempotent team membership under the same transaction’s capacity check.
fn create_member<'life0, 'async_trait>(
&'life0 self,
_member: CreateMember,
) -> Pin<Box<dyn Future<Output = AuthResult<Member>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn 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,
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,
Update the already authenticated token through the transaction connection.
fn update_session_active_organization<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_token: &'life1 str,
_organization_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,
Sourcefn get_user_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'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_user_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<S::User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read an existing registration owner through this transaction’s connection.
Sourcefn create_passkey<'life0, 'async_trait>(
&'life0 self,
_passkey: CreatePasskey,
) -> Pin<Box<dyn Future<Output = AuthResult<Passkey>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_passkey<'life0, 'async_trait>(
&'life0 self,
_passkey: CreatePasskey,
) -> Pin<Box<dyn Future<Output = AuthResult<Passkey>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist a verified passkey in the same transaction as its new session.
Sourcefn 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. The finalized instance applies its policy before adapter hooks. Raw adapters retain ordinary creation.
Sourcefn create_user_prepared<'life0, 'async_trait>(
&'life0 self,
_prepared: PreparedUserCreation,
) -> Pin<Box<dyn Future<Output = AuthResult<S::User>> + 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<S::User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist an admitted candidate without a second email normalization. Custom adapters serving validation-enabled instances must implement this.
fn create_verification<'life0, 'async_trait>(
&'life0 self,
_verification: CreateVerification,
) -> Pin<Box<dyn Future<Output = AuthResult<S::Verification>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".