From 8f73c10e0161ba354b4c02cd6574b209c6f0c536 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Feb 2025 22:31:52 -0500 Subject: [PATCH] Adding listing_type.ModeratorView for list communities. (#5377) - Fixes #5352 --- crates/db_views/src/community/community_view.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/db_views/src/community/community_view.rs b/crates/db_views/src/community/community_view.rs index 7ef746e53..fa9144c4b 100644 --- a/crates/db_views/src/community/community_view.rs +++ b/crates/db_views/src/community/community_view.rs @@ -137,13 +137,18 @@ fn queries<'a>() -> Queries< NameDesc => query = query.order_by(lower(community::name).desc()), }; + let is_subscribed = community_actions::follow_state.eq(Some(CommunityFollowerState::Accepted)); + if let Some(listing_type) = o.listing_type { query = match listing_type { - ListingType::Subscribed => { - query.filter(community_actions::follow_state.eq(Some(CommunityFollowerState::Accepted))) + ListingType::All => query.filter(community::hidden.eq(false).or(is_subscribed)), + ListingType::Subscribed => query.filter(is_subscribed), + ListingType::Local => query + .filter(community::local.eq(true)) + .filter(community::hidden.eq(false).or(is_subscribed)), + ListingType::ModeratorView => { + query.filter(community_actions::became_moderator.is_not_null()) } - ListingType::Local => query.filter(community::local.eq(true)), - _ => query, }; }