refactor(users): GetProfileDeps, UpdateProfileDeps, scoped Arc deps

This commit is contained in:
2026-06-11 22:47:17 +02:00
parent 7bf5c47f5b
commit 61980b0cfb
18 changed files with 296 additions and 145 deletions

View File

@@ -1,17 +1,20 @@
use domain::{errors::DomainError, value_objects::UserId};
use std::sync::Arc;
use crate::context::AppContext;
use domain::{errors::DomainError, ports::UserSettingsRepository, value_objects::UserId};
pub struct UpdateUserSettingsCommand {
pub user_id: uuid::Uuid,
pub federate_goals: bool,
}
pub async fn execute(ctx: &AppContext, cmd: UpdateUserSettingsCommand) -> Result<(), DomainError> {
pub async fn execute(
user_settings: Arc<dyn UserSettingsRepository>,
cmd: UpdateUserSettingsCommand,
) -> Result<(), DomainError> {
let uid = UserId::from_uuid(cmd.user_id);
let mut settings = ctx.repos.user_settings.get(&uid).await?;
let mut settings = user_settings.get(&uid).await?;
settings.set_federate_goals(cmd.federate_goals);
ctx.repos.user_settings.save(&settings).await
user_settings.save(&settings).await
}
#[cfg(test)]