From 51e181c529100ebbba12ba0e6ffef32b0639986e Mon Sep 17 00:00:00 2001 From: Dessalines Date: Fri, 23 Apr 2021 02:09:47 -0400 Subject: [PATCH] Don't search for communities or users when the id is included. --- crates/api/src/site.rs | 51 +++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/crates/api/src/site.rs b/crates/api/src/site.rs index 524d2a91f..704b848a9 100644 --- a/crates/api/src/site.rs +++ b/crates/api/src/site.rs @@ -227,6 +227,9 @@ impl Perform for Search { .await??; } SearchType::All => { + // If the community is included, dont search communities or users + let community_included = data.community_id.is_some() || data.community_name.is_some(); + posts = blocking(context.pool(), move |conn| { PostQueryBuilder::create(conn) .sort(sort) @@ -265,29 +268,37 @@ impl Perform for Search { let q = data.q.to_owned(); - communities = blocking(context.pool(), move |conn| { - CommunityQueryBuilder::create(conn) - .sort(sort) - .listing_type(listing_type) - .search_term(q) - .my_person_id(person_id) - .page(page) - .limit(limit) - .list() - }) - .await??; + communities = if community_included { + vec![] + } else { + blocking(context.pool(), move |conn| { + CommunityQueryBuilder::create(conn) + .sort(sort) + .listing_type(listing_type) + .search_term(q) + .my_person_id(person_id) + .page(page) + .limit(limit) + .list() + }) + .await?? + }; let q = data.q.to_owned(); - users = blocking(context.pool(), move |conn| { - PersonQueryBuilder::create(conn) - .sort(sort) - .search_term(q) - .page(page) - .limit(limit) - .list() - }) - .await??; + users = if community_included { + vec![] + } else { + blocking(context.pool(), move |conn| { + PersonQueryBuilder::create(conn) + .sort(sort) + .search_term(q) + .page(page) + .limit(limit) + .list() + }) + .await?? + }; } SearchType::Url => { posts = blocking(context.pool(), move |conn| {