pub trait CompatSsoLoginRepository: Send + Sync {
    type Error;
    // Required methods
    fn lookup<'life0, 'async_trait>(
        &'life0 mut self,
        id: Ulid,
    ) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn find_for_session<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        session: &'life1 CompatSession,
    ) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn find_by_token<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        login_token: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn add<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 mut self,
        rng: &'life1 mut (dyn RngCore + Send),
        clock: &'life2 dyn Clock,
        login_token: String,
        redirect_uri: Url,
    ) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn fulfill<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 mut self,
        clock: &'life1 dyn Clock,
        compat_sso_login: CompatSsoLogin,
        browser_session: &'life2 BrowserSession,
    ) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn exchange<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 mut self,
        clock: &'life1 dyn Clock,
        compat_sso_login: CompatSsoLogin,
        compat_session: &'life2 CompatSession,
    ) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn list<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        filter: CompatSsoLoginFilter<'life1>,
        pagination: Pagination,
    ) -> Pin<Box<dyn Future<Output = Result<Page<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn count<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        filter: CompatSsoLoginFilter<'life1>,
    ) -> Pin<Box<dyn Future<Output = Result<usize, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}Expand description
A CompatSsoLoginRepository helps interacting with
CompatSsoLoginRepository saved in the storage backend
Required Associated Types§
Required Methods§
Sourcefn lookup<'life0, 'async_trait>(
    &'life0 mut self,
    id: Ulid,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
 
fn lookup<'life0, 'async_trait>(
    &'life0 mut self,
    id: Ulid,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
Lookup a compat SSO login by its ID
Returns the compat SSO login if it exists, None otherwise
§Parameters
- id: The ID of the compat SSO login to lookup
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn find_for_session<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    session: &'life1 CompatSession,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn find_for_session<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    session: &'life1 CompatSession,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Find a compat SSO login by its session
Returns the compat SSO login if it exists, None otherwise
§Parameters
- session: The session of the compat SSO login to lookup
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn find_by_token<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    login_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn find_by_token<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    login_token: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Find a compat SSO login by its login token
Returns the compat SSO login if found, None otherwise
§Parameters
- login_token: The login token of the compat SSO login to lookup
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn add<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    rng: &'life1 mut (dyn RngCore + Send),
    clock: &'life2 dyn Clock,
    login_token: String,
    redirect_uri: Url,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
 
fn add<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    rng: &'life1 mut (dyn RngCore + Send),
    clock: &'life2 dyn Clock,
    login_token: String,
    redirect_uri: Url,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
Start a new compat SSO login token
Returns the newly created compat SSO login
§Parameters
- rng: The random number generator to use
- clock: The clock used to generate the timestamps
- login_token: The login token given to the client
- redirect_uri: The redirect URI given by the client
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn fulfill<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    clock: &'life1 dyn Clock,
    compat_sso_login: CompatSsoLogin,
    browser_session: &'life2 BrowserSession,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
 
fn fulfill<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    clock: &'life1 dyn Clock,
    compat_sso_login: CompatSsoLogin,
    browser_session: &'life2 BrowserSession,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
Fulfill a compat SSO login by providing a browser session
Returns the fulfilled compat SSO login
§Parameters
- clock: The clock used to generate the timestamps
- compat_sso_login: The compat SSO login to fulfill
- browser_session: The browser session to associate with the compat SSO login
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn exchange<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    clock: &'life1 dyn Clock,
    compat_sso_login: CompatSsoLogin,
    compat_session: &'life2 CompatSession,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
 
fn exchange<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 mut self,
    clock: &'life1 dyn Clock,
    compat_sso_login: CompatSsoLogin,
    compat_session: &'life2 CompatSession,
) -> Pin<Box<dyn Future<Output = Result<CompatSsoLogin, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
Mark a compat SSO login as exchanged
Returns the exchanged compat SSO login
§Parameters
- clock: The clock used to generate the timestamps
- compat_sso_login: The compat SSO login to mark as exchanged
- compat_session: The compat session created as a result of the exchange
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn list<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    filter: CompatSsoLoginFilter<'life1>,
    pagination: Pagination,
) -> Pin<Box<dyn Future<Output = Result<Page<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn list<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    filter: CompatSsoLoginFilter<'life1>,
    pagination: Pagination,
) -> Pin<Box<dyn Future<Output = Result<Page<CompatSsoLogin>, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
List CompatSsoLogin with the given filter and pagination
Returns a page of compat SSO logins
§Parameters
- filter: The filter to apply
- pagination: The pagination parameters
§Errors
Returns Self::Error if the underlying repository fails
Sourcefn count<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    filter: CompatSsoLoginFilter<'life1>,
) -> Pin<Box<dyn Future<Output = Result<usize, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn count<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    filter: CompatSsoLoginFilter<'life1>,
) -> Pin<Box<dyn Future<Output = Result<usize, Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Count the number of CompatSsoLogin with the given filter
§Parameters
- filter: The filter to apply
§Errors
Returns Self::Error if the underlying repository fails