From 1a77e15d7000c39107f62fc6dcc602b260d40c94 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Fri, 15 May 2026 13:59:30 +0200 Subject: [PATCH] =?UTF-8?q?refactor(application):=20remove=20pass-through?= =?UTF-8?q?=20search=20use=20cases=20=E2=80=94=20call=20SearchPort=20direc?= =?UTF-8?q?tly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/application/src/use_cases/mod.rs | 1 - crates/application/src/use_cases/search.rs | 26 ---------------------- crates/presentation/src/handlers/feed.rs | 17 ++++---------- crates/presentation/src/handlers/users.rs | 3 +-- 4 files changed, 5 insertions(+), 42 deletions(-) delete mode 100644 crates/application/src/use_cases/search.rs diff --git a/crates/application/src/use_cases/mod.rs b/crates/application/src/use_cases/mod.rs index c8c4862..9b2cfea 100644 --- a/crates/application/src/use_cases/mod.rs +++ b/crates/application/src/use_cases/mod.rs @@ -4,6 +4,5 @@ pub mod federation_management; pub mod feed; pub mod notifications; pub mod profile; -pub mod search; pub mod social; pub mod thoughts; diff --git a/crates/application/src/use_cases/search.rs b/crates/application/src/use_cases/search.rs deleted file mode 100644 index 00b05cc..0000000 --- a/crates/application/src/use_cases/search.rs +++ /dev/null @@ -1,26 +0,0 @@ -use domain::{ - errors::DomainError, - models::{ - feed::{FeedEntry, PageParams, Paginated}, - user::User, - }, - ports::SearchPort, - value_objects::UserId, -}; - -pub async fn search_thoughts( - search: &dyn SearchPort, - query: &str, - page: PageParams, - viewer_id: Option<&UserId>, -) -> Result, DomainError> { - search.search_thoughts(query, &page, viewer_id).await -} - -pub async fn search_users( - search: &dyn SearchPort, - query: &str, - page: PageParams, -) -> Result, DomainError> { - search.search_users(query, &page).await -} diff --git a/crates/presentation/src/handlers/feed.rs b/crates/presentation/src/handlers/feed.rs index b9f279c..79a73af 100644 --- a/crates/presentation/src/handlers/feed.rs +++ b/crates/presentation/src/handlers/feed.rs @@ -11,7 +11,6 @@ use application::use_cases::feed::{ get_popular_tags as uc_get_popular_tags, get_public_feed, get_user_feed, }; use application::use_cases::profile::{get_user_by_id_or_username, get_user_by_username}; -use application::use_cases::search::{search_thoughts, search_users}; use axum::{ extract::{Path, Query, State}, http::{header, HeaderMap}, @@ -104,22 +103,14 @@ pub async fn search_handler( let query = q.q.trim().to_string(); let (thoughts_result, users_result) = tokio::join!( - search_thoughts( - &*s.search, + s.search.search_thoughts( &query, - PageParams { - page: page.page, - per_page: page.per_page - }, + &page, viewer.as_ref() ), - search_users( - &*s.search, + s.search.search_users( &query, - PageParams { - page: page.page, - per_page: page.per_page - } + &page ), ); diff --git a/crates/presentation/src/handlers/users.rs b/crates/presentation/src/handlers/users.rs index c281bab..e345c97 100644 --- a/crates/presentation/src/handlers/users.rs +++ b/crates/presentation/src/handlers/users.rs @@ -12,7 +12,6 @@ use application::use_cases::feed::list_users_paginated; use application::use_cases::profile::{ get_user as fetch_user, get_user_by_id_or_username, update_profile, }; -use application::use_cases::search::search_users; use axum::{ extract::{Path, Query, State}, http::{header, HeaderMap}, @@ -135,7 +134,7 @@ pub async fn get_users( let page_params = PageParams { page, per_page }; if let Some(q) = params.get("q").filter(|q| !q.trim().is_empty()) { - let result = search_users(&*s.search, q, page_params).await?; + let result = s.search.search_users(q, &page_params).await?; let users: Vec<_> = result .items .iter()