Skip to content

Commit

Permalink
Adding cross_post fetching to GetPost. Fixes #2127 (#2821)
Browse files Browse the repository at this point in the history
  • Loading branch information
dessalines authored Apr 19, 2023
1 parent 85ef507 commit 1e26709
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
1 change: 1 addition & 0 deletions crates/api_common/src/post.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ pub struct GetPostResponse {
pub post_view: PostView,
pub community_view: CommunityView,
pub moderators: Vec<CommunityModeratorView>,
pub cross_posts: Vec<PostView>,
pub online: usize,
}

Expand Down
15 changes: 14 additions & 1 deletion crates/api_crud/src/post/read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use lemmy_db_schema::{
source::{comment::Comment, local_site::LocalSite, post::Post},
traits::Crud,
};
use lemmy_db_views::structs::PostView;
use lemmy_db_views::{post_view::PostQuery, structs::PostView};
use lemmy_db_views_actor::structs::{CommunityModeratorView, CommunityView};
use lemmy_utils::{error::LemmyError, ConnectionId};

Expand Down Expand Up @@ -96,6 +96,18 @@ impl PerformCrud for GetPost {

let moderators = CommunityModeratorView::for_community(context.pool(), community_id).await?;

// Fetch the cross_posts
let cross_posts = if let Some(url) = &post_view.post.url {
PostQuery::builder()
.pool(context.pool())
.url_search(Some(url.inner().as_str().into()))
.build()
.list()
.await?
} else {
Vec::new()
};

let online = context
.chat_server()
.send(GetPostUsersOnline { post_id })
Expand All @@ -107,6 +119,7 @@ impl PerformCrud for GetPost {
community_view,
moderators,
online,
cross_posts,
})
}
}

0 comments on commit 1e26709

Please sign in to comment.