Pass out RepositoryError

This commit is contained in:
Olivier 'reivilibre
2025-11-06 15:05:40 +00:00
parent 24152a47cb
commit 184c2845ea
3 changed files with 5 additions and 13 deletions

View File

@@ -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 {

View File

@@ -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

View File

@@ -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))