Adding listing_type.ModeratorView for list communities. (#5377)

- Fixes #5352
This commit is contained in:
Dessalines 2025-02-01 22:31:52 -05:00 committed by GitHub
parent 182f2532dc
commit 8f73c10e01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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,
};
}