From 90866aea589d86b48a5c0ae4481a88bf488b65a0 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sat, 16 May 2026 11:09:26 +0200 Subject: [PATCH] =?UTF-8?q?refactor(application):=20delete=20shallow=20fee?= =?UTF-8?q?d=20use=20cases=20=E2=80=94=20keep=20only=20get=5Fhome=5Ffeed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/application/src/use_cases/feed.rs | 91 +----------------------- 1 file changed, 3 insertions(+), 88 deletions(-) diff --git a/crates/application/src/use_cases/feed.rs b/crates/application/src/use_cases/feed.rs index 13af651..b384e3e 100644 --- a/crates/application/src/use_cases/feed.rs +++ b/crates/application/src/use_cases/feed.rs @@ -1,10 +1,7 @@ use domain::{ errors::DomainError, - models::{ - feed::{FeedEntry, PageParams, Paginated, UserSummary}, - user::User, - }, - ports::{FeedQuery, FeedRepository, FollowRepository, TagRepository, UserReader}, + models::feed::{FeedEntry, PageParams, Paginated}, + ports::{FeedQuery, FeedRepository, FollowRepository}, value_objects::UserId, }; @@ -15,88 +12,6 @@ pub async fn get_home_feed( page: PageParams, ) -> Result, DomainError> { let mut following_ids = follows.get_accepted_following_ids(user_id).await?; - following_ids.push(user_id.clone()); // include own thoughts in home feed + following_ids.push(user_id.clone()); feed.query(&FeedQuery::home(user_id.clone(), following_ids, page)).await } - -pub async fn get_public_feed( - feed: &dyn FeedRepository, - viewer_id: Option<&UserId>, - page: PageParams, -) -> Result, DomainError> { - feed.query(&FeedQuery::public(page, viewer_id.cloned())).await -} - -pub async fn get_user_feed( - feed: &dyn FeedRepository, - user_id: &UserId, - page: PageParams, - viewer_id: Option<&UserId>, -) -> Result, DomainError> { - feed.query(&FeedQuery::user(user_id.clone(), page, viewer_id.cloned())).await -} - -pub async fn get_followers( - follows: &dyn FollowRepository, - user_id: &UserId, - page: PageParams, -) -> Result, DomainError> { - follows.list_followers(user_id, &page).await -} - -pub async fn get_following( - follows: &dyn FollowRepository, - user_id: &UserId, - page: PageParams, -) -> Result, DomainError> { - follows.list_following(user_id, &page).await -} - -pub async fn get_by_tag( - feed: &dyn FeedRepository, - tag_name: &str, - page: PageParams, - viewer_id: Option<&UserId>, -) -> Result, DomainError> { - feed.query(&FeedQuery::tag(tag_name, page, viewer_id.cloned())).await -} - -pub async fn search( - feed: &dyn FeedRepository, - query: &str, - page: PageParams, - viewer_id: Option<&UserId>, -) -> Result, DomainError> { - feed.query(&FeedQuery::search(query, page, viewer_id.cloned())).await -} - -pub async fn list_users(users: &dyn UserReader) -> Result, DomainError> { - users.list_with_stats().await -} - -pub async fn list_users_paginated( - users: &dyn UserReader, - page: PageParams, -) -> Result, DomainError> { - let all = users.list_with_stats().await?; - let total = all.len() as i64; - let start = ((page.page.saturating_sub(1)) * page.per_page) as usize; - let items: Vec = all - .into_iter() - .skip(start) - .take(page.per_page as usize) - .collect(); - Ok(Paginated { - items, - total, - page: page.page, - per_page: page.per_page, - }) -} - -pub async fn get_popular_tags( - tags: &dyn TagRepository, - limit: usize, -) -> Result, DomainError> { - tags.popular_tags(limit).await -}