Files
k-mood/crates/application/src/user/preferences.rs
Gabriel Kaszewski 23d052278a
All checks were successful
CI / ci (push) Successful in 19m38s
changes
2026-08-26 20:58:14 +02:00

17 lines
437 B
Rust

use std::sync::Arc;
use domain::ports::UserPreferencesQueryPort;
use domain::user::{UserId, UserPreferences};
use crate::errors::ApplicationError;
pub async fn preferences_of(
user_id: &UserId,
query: &Arc<dyn UserPreferencesQueryPort>,
) -> Result<UserPreferences, ApplicationError> {
Ok(query
.find_by_user(user_id)
.await?
.unwrap_or_else(|| UserPreferences::off_by_default(user_id.clone())))
}