You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-08-09 04:22:45 +03:00
storage: impl Repository for Box<impl Repository + ?Sized>
This commit is contained in:
@@ -63,7 +63,7 @@ pub async fn get(
|
|||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -126,7 +126,7 @@ pub async fn post(
|
|||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
cookie_jar.verify_form(&clock, form)?;
|
cookie_jar.verify_form(&clock, form)?;
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
|
@@ -67,7 +67,7 @@ pub async fn post(
|
|||||||
let content_type = content_type.map(|TypedHeader(h)| h.to_string());
|
let content_type = content_type.map(|TypedHeader(h)| h.to_string());
|
||||||
|
|
||||||
let (session_info, _cookie_jar) = cookie_jar.session_info();
|
let (session_info, _cookie_jar) = cookie_jar.session_info();
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let mut request = async_graphql::http::receive_body(
|
let mut request = async_graphql::http::receive_body(
|
||||||
content_type,
|
content_type,
|
||||||
@@ -103,7 +103,7 @@ pub async fn get(
|
|||||||
RawQuery(query): RawQuery,
|
RawQuery(query): RawQuery,
|
||||||
) -> Result<impl IntoResponse, FancyError> {
|
) -> Result<impl IntoResponse, FancyError> {
|
||||||
let (session_info, _cookie_jar) = cookie_jar.session_info();
|
let (session_info, _cookie_jar) = cookie_jar.session_info();
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let mut request =
|
let mut request =
|
||||||
async_graphql::http::parse_query_string(&query.unwrap_or_default())?.data(Mutex::new(repo));
|
async_graphql::http::parse_query_string(&query.unwrap_or_default())?.data(Mutex::new(repo));
|
||||||
|
@@ -86,7 +86,7 @@ pub(crate) async fn get(
|
|||||||
) -> Result<Response, RouteError> {
|
) -> Result<Response, RouteError> {
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let grant = repo
|
let grant = repo
|
||||||
.oauth2_authorization_grant()
|
.oauth2_authorization_grant()
|
||||||
|
@@ -167,7 +167,7 @@ pub(crate) async fn get(
|
|||||||
let templates = templates.clone();
|
let templates = templates.clone();
|
||||||
let callback_destination = callback_destination.clone();
|
let callback_destination = callback_destination.clone();
|
||||||
async move {
|
async move {
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
let prompt = params.auth.prompt.as_deref().unwrap_or_default();
|
let prompt = params.auth.prompt.as_deref().unwrap_or_default();
|
||||||
|
|
||||||
// Check if the request/request_uri/registration params are used. If so, reply
|
// Check if the request/request_uri/registration params are used. If so, reply
|
||||||
|
@@ -82,7 +82,7 @@ pub(crate) async fn get(
|
|||||||
) -> Result<Response, RouteError> {
|
) -> Result<Response, RouteError> {
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let grant = repo
|
let grant = repo
|
||||||
.oauth2_authorization_grant()
|
.oauth2_authorization_grant()
|
||||||
@@ -138,7 +138,7 @@ pub(crate) async fn post(
|
|||||||
|
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let grant = repo
|
let grant = repo
|
||||||
.oauth2_authorization_grant()
|
.oauth2_authorization_grant()
|
||||||
|
@@ -130,7 +130,7 @@ pub(crate) async fn post(
|
|||||||
) -> Result<impl IntoResponse, RouteError> {
|
) -> Result<impl IntoResponse, RouteError> {
|
||||||
let client = client_authorization
|
let client = client_authorization
|
||||||
.credentials
|
.credentials
|
||||||
.fetch(&mut *repo)
|
.fetch(&mut repo)
|
||||||
.await
|
.await
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.ok_or(RouteError::ClientNotFound)?;
|
.ok_or(RouteError::ClientNotFound)?;
|
||||||
|
@@ -168,7 +168,7 @@ pub(crate) async fn post(
|
|||||||
) -> Result<impl IntoResponse, RouteError> {
|
) -> Result<impl IntoResponse, RouteError> {
|
||||||
let client = client_authorization
|
let client = client_authorization
|
||||||
.credentials
|
.credentials
|
||||||
.fetch(&mut *repo)
|
.fetch(&mut repo)
|
||||||
.await?
|
.await?
|
||||||
.ok_or(RouteError::ClientNotFound)?;
|
.ok_or(RouteError::ClientNotFound)?;
|
||||||
|
|
||||||
|
@@ -103,7 +103,7 @@ pub async fn get(
|
|||||||
State(key_store): State<Keystore>,
|
State(key_store): State<Keystore>,
|
||||||
user_authorization: UserAuthorization,
|
user_authorization: UserAuthorization,
|
||||||
) -> Result<Response, RouteError> {
|
) -> Result<Response, RouteError> {
|
||||||
let session = user_authorization.protected(&mut *repo, &clock).await?;
|
let session = user_authorization.protected(&mut repo, &clock).await?;
|
||||||
|
|
||||||
let browser_session = repo
|
let browser_session = repo
|
||||||
.browser_session()
|
.browser_session()
|
||||||
|
@@ -128,7 +128,7 @@ pub(crate) async fn get(
|
|||||||
|
|
||||||
let (user_session_info, cookie_jar) = cookie_jar.session_info();
|
let (user_session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
let (csrf_token, mut cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, mut cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let maybe_user_session = user_session_info.load_session(&mut *repo).await?;
|
let maybe_user_session = user_session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let render = match (maybe_user_session, link.user_id) {
|
let render = match (maybe_user_session, link.user_id) {
|
||||||
(Some(session), Some(user_id)) if session.user.id == user_id => {
|
(Some(session), Some(user_id)) if session.user.id == user_id => {
|
||||||
@@ -249,7 +249,7 @@ pub(crate) async fn post(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let (user_session_info, cookie_jar) = cookie_jar.session_info();
|
let (user_session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
let maybe_user_session = user_session_info.load_session(&mut *repo).await?;
|
let maybe_user_session = user_session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = match (maybe_user_session, link.user_id, form) {
|
let session = match (maybe_user_session, link.user_id, form) {
|
||||||
(Some(session), None, FormData::Link) => {
|
(Some(session), None, FormData::Link) => {
|
||||||
|
@@ -46,7 +46,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -76,7 +76,7 @@ pub(crate) async fn post(
|
|||||||
let form = cookie_jar.verify_form(&clock, form)?;
|
let form = cookie_jar.verify_form(&clock, form)?;
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -98,7 +98,7 @@ pub(crate) async fn post(
|
|||||||
};
|
};
|
||||||
start_email_verification(
|
start_email_verification(
|
||||||
&mailer,
|
&mailer,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&mut rng,
|
&mut rng,
|
||||||
&clock,
|
&clock,
|
||||||
&session.user,
|
&session.user,
|
||||||
|
@@ -55,10 +55,10 @@ pub(crate) async fn get(
|
|||||||
) -> Result<Response, FancyError> {
|
) -> Result<Response, FancyError> {
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
if let Some(session) = maybe_session {
|
if let Some(session) = maybe_session {
|
||||||
render(&mut rng, &clock, templates, session, cookie_jar, &mut *repo).await
|
render(&mut rng, &clock, templates, session, cookie_jar, &mut repo).await
|
||||||
} else {
|
} else {
|
||||||
let login = mas_router::Login::default();
|
let login = mas_router::Login::default();
|
||||||
Ok((cookie_jar, login.go()).into_response())
|
Ok((cookie_jar, login.go()).into_response())
|
||||||
@@ -130,7 +130,7 @@ pub(crate) async fn post(
|
|||||||
) -> Result<Response, FancyError> {
|
) -> Result<Response, FancyError> {
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let mut session = if let Some(session) = maybe_session {
|
let mut session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -149,7 +149,7 @@ pub(crate) async fn post(
|
|||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
let next = mas_router::AccountVerifyEmail::new(email.id);
|
let next = mas_router::AccountVerifyEmail::new(email.id);
|
||||||
start_email_verification(&mailer, &mut *repo, &mut rng, &clock, &session.user, email)
|
start_email_verification(&mailer, &mut repo, &mut rng, &clock, &session.user, email)
|
||||||
.await?;
|
.await?;
|
||||||
repo.save().await?;
|
repo.save().await?;
|
||||||
return Ok((cookie_jar, next.go()).into_response());
|
return Ok((cookie_jar, next.go()).into_response());
|
||||||
@@ -168,7 +168,7 @@ pub(crate) async fn post(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let next = mas_router::AccountVerifyEmail::new(email.id);
|
let next = mas_router::AccountVerifyEmail::new(email.id);
|
||||||
start_email_verification(&mailer, &mut *repo, &mut rng, &clock, &session.user, email)
|
start_email_verification(&mailer, &mut repo, &mut rng, &clock, &session.user, email)
|
||||||
.await?;
|
.await?;
|
||||||
repo.save().await?;
|
repo.save().await?;
|
||||||
return Ok((cookie_jar, next.go()).into_response());
|
return Ok((cookie_jar, next.go()).into_response());
|
||||||
@@ -211,7 +211,7 @@ pub(crate) async fn post(
|
|||||||
templates.clone(),
|
templates.clone(),
|
||||||
session,
|
session,
|
||||||
cookie_jar,
|
cookie_jar,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -90,7 +90,7 @@ pub(crate) async fn post(
|
|||||||
let form = cookie_jar.verify_form(&clock, form)?;
|
let form = cookie_jar.verify_form(&clock, form)?;
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
|
@@ -39,7 +39,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
|
@@ -52,7 +52,7 @@ pub(crate) async fn get(
|
|||||||
) -> Result<Response, FancyError> {
|
) -> Result<Response, FancyError> {
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
if let Some(session) = maybe_session {
|
if let Some(session) = maybe_session {
|
||||||
render(&mut rng, &clock, templates, session, cookie_jar).await
|
render(&mut rng, &clock, templates, session, cookie_jar).await
|
||||||
@@ -93,7 +93,7 @@ pub(crate) async fn post(
|
|||||||
|
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
|
@@ -33,7 +33,7 @@ pub async fn get(
|
|||||||
) -> Result<impl IntoResponse, FancyError> {
|
) -> Result<impl IntoResponse, FancyError> {
|
||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
let session = session_info.load_session(&mut *repo).await?;
|
let session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let ctx = IndexContext::new(url_builder.oidc_discovery())
|
let ctx = IndexContext::new(url_builder.oidc_discovery())
|
||||||
.maybe_with_session(session)
|
.maybe_with_session(session)
|
||||||
|
@@ -59,7 +59,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
if maybe_session.is_some() {
|
if maybe_session.is_some() {
|
||||||
let reply = query.go_next();
|
let reply = query.go_next();
|
||||||
@@ -70,7 +70,7 @@ pub(crate) async fn get(
|
|||||||
LoginContext::default().with_upstrem_providers(providers),
|
LoginContext::default().with_upstrem_providers(providers),
|
||||||
query,
|
query,
|
||||||
csrf_token,
|
csrf_token,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&templates,
|
&templates,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
@@ -116,7 +116,7 @@ pub(crate) async fn post(
|
|||||||
.with_upstrem_providers(providers),
|
.with_upstrem_providers(providers),
|
||||||
query,
|
query,
|
||||||
csrf_token,
|
csrf_token,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&templates,
|
&templates,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
@@ -126,7 +126,7 @@ pub(crate) async fn post(
|
|||||||
|
|
||||||
match login(
|
match login(
|
||||||
password_manager,
|
password_manager,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
rng,
|
rng,
|
||||||
&clock,
|
&clock,
|
||||||
&form.username,
|
&form.username,
|
||||||
@@ -148,7 +148,7 @@ pub(crate) async fn post(
|
|||||||
LoginContext::default().with_form_state(state),
|
LoginContext::default().with_form_state(state),
|
||||||
query,
|
query,
|
||||||
csrf_token,
|
csrf_token,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&templates,
|
&templates,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
@@ -32,7 +32,7 @@ pub(crate) async fn post(
|
|||||||
|
|
||||||
let (session_info, mut cookie_jar) = cookie_jar.session_info();
|
let (session_info, mut cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
if let Some(session) = maybe_session {
|
if let Some(session) = maybe_session {
|
||||||
repo.browser_session().finish(&clock, session).await?;
|
repo.browser_session().finish(&clock, session).await?;
|
||||||
|
@@ -51,7 +51,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
@@ -63,7 +63,7 @@ pub(crate) async fn get(
|
|||||||
};
|
};
|
||||||
|
|
||||||
let ctx = ReauthContext::default();
|
let ctx = ReauthContext::default();
|
||||||
let next = query.load_context(&mut *repo).await?;
|
let next = query.load_context(&mut repo).await?;
|
||||||
let ctx = if let Some(next) = next {
|
let ctx = if let Some(next) = next {
|
||||||
ctx.with_post_action(next)
|
ctx.with_post_action(next)
|
||||||
} else {
|
} else {
|
||||||
@@ -89,7 +89,7 @@ pub(crate) async fn post(
|
|||||||
|
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
let session = if let Some(session) = maybe_session {
|
let session = if let Some(session) = maybe_session {
|
||||||
session
|
session
|
||||||
|
@@ -69,7 +69,7 @@ pub(crate) async fn get(
|
|||||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||||
let (session_info, cookie_jar) = cookie_jar.session_info();
|
let (session_info, cookie_jar) = cookie_jar.session_info();
|
||||||
|
|
||||||
let maybe_session = session_info.load_session(&mut *repo).await?;
|
let maybe_session = session_info.load_session(&mut repo).await?;
|
||||||
|
|
||||||
if maybe_session.is_some() {
|
if maybe_session.is_some() {
|
||||||
let reply = query.go_next();
|
let reply = query.go_next();
|
||||||
@@ -79,7 +79,7 @@ pub(crate) async fn get(
|
|||||||
RegisterContext::default(),
|
RegisterContext::default(),
|
||||||
query,
|
query,
|
||||||
csrf_token,
|
csrf_token,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&templates,
|
&templates,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
@@ -174,7 +174,7 @@ pub(crate) async fn post(
|
|||||||
RegisterContext::default().with_form_state(state),
|
RegisterContext::default().with_form_state(state),
|
||||||
query,
|
query,
|
||||||
csrf_token,
|
csrf_token,
|
||||||
&mut *repo,
|
&mut repo,
|
||||||
&templates,
|
&templates,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
@@ -265,3 +265,115 @@ where
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<R: Repository + ?Sized> Repository for Box<R> {
|
||||||
|
type Error = R::Error;
|
||||||
|
|
||||||
|
fn save(self: Box<Self>) -> BoxFuture<'static, Result<(), Self::Error>>
|
||||||
|
where
|
||||||
|
Self: Sized,
|
||||||
|
{
|
||||||
|
// This shouldn't be callable?
|
||||||
|
unimplemented!()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn cancel(self: Box<Self>) -> BoxFuture<'static, Result<(), Self::Error>>
|
||||||
|
where
|
||||||
|
Self: Sized,
|
||||||
|
{
|
||||||
|
// This shouldn't be callable?
|
||||||
|
unimplemented!()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn upstream_oauth_link<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn UpstreamOAuthLinkRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).upstream_oauth_link()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn upstream_oauth_provider<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn UpstreamOAuthProviderRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).upstream_oauth_provider()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn upstream_oauth_session<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn UpstreamOAuthSessionRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).upstream_oauth_session()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn user<'c>(&'c mut self) -> Box<dyn UserRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).user()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn user_email<'c>(&'c mut self) -> Box<dyn UserEmailRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).user_email()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn user_password<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn UserPasswordRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).user_password()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn browser_session<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn BrowserSessionRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).browser_session()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn oauth2_client<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn OAuth2ClientRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).oauth2_client()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn oauth2_authorization_grant<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn OAuth2AuthorizationGrantRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).oauth2_authorization_grant()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn oauth2_session<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn OAuth2SessionRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).oauth2_session()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn oauth2_access_token<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn OAuth2AccessTokenRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).oauth2_access_token()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn oauth2_refresh_token<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn OAuth2RefreshTokenRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).oauth2_refresh_token()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn compat_session<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn CompatSessionRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).compat_session()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn compat_sso_login<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn CompatSsoLoginRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).compat_sso_login()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn compat_access_token<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn CompatAccessTokenRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).compat_access_token()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn compat_refresh_token<'c>(
|
||||||
|
&'c mut self,
|
||||||
|
) -> Box<dyn CompatRefreshTokenRepository<Error = Self::Error> + 'c> {
|
||||||
|
(**self).compat_refresh_token()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user