Pass out RepositoryError
This commit is contained in:
@@ -136,9 +136,7 @@ pub(crate) async fn get(
|
||||
|
||||
let (csrf_token, cookie_jar) = cookie_jar.csrf_token(&clock, &mut rng);
|
||||
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user)
|
||||
.await
|
||||
.map_err(|e| RouteError::Internal(e.into()))?;
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user).await?;
|
||||
|
||||
let res = policy
|
||||
.evaluate_authorization_grant(mas_policy::AuthorizationGrantInput {
|
||||
@@ -240,9 +238,7 @@ pub(crate) async fn post(
|
||||
return Err(RouteError::GrantNotPending(grant.id));
|
||||
}
|
||||
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &browser_session.user)
|
||||
.await
|
||||
.map_err(|e| RouteError::Internal(e.into()))?;
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &browser_session.user).await?;
|
||||
|
||||
let res = policy
|
||||
.evaluate_authorization_grant(mas_policy::AuthorizationGrantInput {
|
||||
|
||||
@@ -103,9 +103,7 @@ pub(crate) async fn get(
|
||||
.context("Client not found")
|
||||
.map_err(InternalError::from_anyhow)?;
|
||||
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user)
|
||||
.await
|
||||
.map_err(InternalError::from_anyhow)?;
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user).await?;
|
||||
|
||||
// Evaluate the policy
|
||||
let res = policy
|
||||
@@ -210,9 +208,7 @@ pub(crate) async fn post(
|
||||
.context("Client not found")
|
||||
.map_err(InternalError::from_anyhow)?;
|
||||
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user)
|
||||
.await
|
||||
.map_err(InternalError::from_anyhow)?;
|
||||
let session_counts = count_user_sessions_for_limiting(&mut repo, &session.user).await?;
|
||||
|
||||
// Evaluate the policy
|
||||
let res = policy
|
||||
|
||||
@@ -136,7 +136,7 @@ pub async fn load_session_or_fallback(
|
||||
pub(crate) async fn count_user_sessions_for_limiting(
|
||||
repo: &mut BoxRepository,
|
||||
user: &User,
|
||||
) -> anyhow::Result<SessionCounts> {
|
||||
) -> Result<SessionCounts, RepositoryError> {
|
||||
let oauth2 = repo
|
||||
.oauth2_session()
|
||||
.count(OAuth2SessionFilter::new().active_only().for_user(user))
|
||||
|
||||
Reference in New Issue
Block a user