async fn add_refresh_token(user_agent: &str, email: &str) -> Result<String, Error> {
    let token = RefreshToken::new(user_agent, email)?;
    let ret = token.encrypt_encode()?;
    STORAGE.add_refresh_token(token).await?;
    Ok(ret)
}
/// Add a new refresh token to the data store, returning its `String` representation for saving on
/// the client side on success.
Add a new refresh token to the data store, returning its `String` representation for saving on
the client side on success.
Add a new refresh token to the data store returning its ` String ` representation for saving on the client side on success .
async fn add_refresh_token(user_agent: &str, email: &str) -> Result<String, Error> {
    let token = RefreshToken::new(user_agent, email)?;
    let ret = token.encrypt_encode()?;
    STORAGE.add_refresh_token(token).await?;
    Ok(ret)
}
async fn add_refresh_token ( user_agent : & str , email : & str ) -> Result < String , Error > { let token = RefreshToken :: new ( user_agent , email ) ? ; let ret = token . encrypt_encode ( ) ? ; STORAGE . add_refresh_token ( token ) . await ? ; Ok ( ret ) }
Add a new refresh token to the data store, returning its `String` representation for saving on
the client side on success.
Add a new refresh token to the data store returning its ` String ` representation for saving on the client side on success .
user_agent
&str
email
&str
user_agent
&str
email
&str