refactor: move AppContext to presentation crate, structurally enforce boundary
All checks were successful
CI / Check / Test (push) Successful in 39m33s

This commit is contained in:
2026-06-11 23:18:28 +02:00
parent b5cc7f8371
commit 57520c00f3
51 changed files with 268 additions and 377 deletions

View File

@@ -1,6 +1,8 @@
use std::sync::Arc;
use domain::{errors::DomainError, models::UserSettings, ports::UserSettingsRepository, value_objects::UserId};
use domain::{
errors::DomainError, models::UserSettings, ports::UserSettingsRepository, value_objects::UserId,
};
pub async fn execute(
user_settings: Arc<dyn UserSettingsRepository>,

View File

@@ -1,7 +1,11 @@
use std::sync::Arc;
use crate::users::queries::GetUsersQuery;
use domain::{errors::DomainError, models::UserSummary, ports::{RemoteActorInfo, SocialQueryPort, UserRepository}};
use domain::{
errors::DomainError,
models::UserSummary,
ports::{RemoteActorInfo, SocialQueryPort, UserRepository},
};
pub struct UsersListData {
pub users: Vec<UserSummary>,

View File

@@ -7,7 +7,9 @@ async fn returns_default_settings() {
let b = TestContextBuilder::new();
let user_settings = b.user_settings_repo.clone();
let settings = get_settings::execute(user_settings, Uuid::nil()).await.unwrap();
let settings = get_settings::execute(user_settings, Uuid::nil())
.await
.unwrap();
assert!(!settings.federate_goals());
}

View File

@@ -8,7 +8,9 @@ async fn returns_empty_when_no_users() {
let user = b.user_repo.clone();
let social_query = b.social_query.clone();
let result = get_users::execute(user, social_query, GetUsersQuery).await.unwrap();
let result = get_users::execute(user, social_query, GetUsersQuery)
.await
.unwrap();
assert!(result.users.is_empty());
assert!(result.remote_actors.is_empty());

View File

@@ -11,8 +11,7 @@ use crate::{
#[tokio::test]
async fn updates_federate_goals() {
let settings_repo = InMemoryUserSettingsRepository::new();
let b = TestContextBuilder::new()
.with_user_settings(Arc::clone(&settings_repo) as _);
let b = TestContextBuilder::new().with_user_settings(Arc::clone(&settings_repo) as _);
let user_settings = b.user_settings_repo.clone();
let uid = Uuid::nil();

View File

@@ -2,7 +2,10 @@ use domain::{errors::DomainError, events::DomainEvent, value_objects::UserId};
use crate::users::{commands::UpdateProfileCommand, deps::UpdateProfileDeps};
pub async fn execute(deps: &UpdateProfileDeps, cmd: UpdateProfileCommand) -> Result<(), DomainError> {
pub async fn execute(
deps: &UpdateProfileDeps,
cmd: UpdateProfileCommand,
) -> Result<(), DomainError> {
let user_id = UserId::from_uuid(cmd.user_id);
let user = deps

View File

@@ -1,7 +1,11 @@
use std::sync::Arc;
use domain::{
errors::DomainError, events::DomainEvent, models::UserProfile, ports::{EventPublisher, UserProfileFieldsRepository}, value_objects::UserId,
errors::DomainError,
events::DomainEvent,
models::UserProfile,
ports::{EventPublisher, UserProfileFieldsRepository},
value_objects::UserId,
};
use crate::users::commands::UpdateProfileFieldsCommand;