add new flag to api (#3363)
This commit is contained in:
parent
2aef6a5a33
commit
d1d90af0eb
3 changed files with 6 additions and 2 deletions
|
@ -76,6 +76,7 @@ pub struct CommunityResponse {
|
|||
pub struct ListCommunities {
|
||||
pub type_: Option<ListingType>,
|
||||
pub sort: Option<SortType>,
|
||||
pub show_nsfw: Option<bool>,
|
||||
pub page: Option<i64>,
|
||||
pub limit: Option<i64>,
|
||||
pub auth: Option<Sensitive<String>>,
|
||||
|
|
|
@ -27,12 +27,14 @@ impl PerformCrud for ListCommunities {
|
|||
|
||||
let sort = data.sort;
|
||||
let listing_type = data.type_;
|
||||
let show_nsfw = data.show_nsfw;
|
||||
let page = data.page;
|
||||
let limit = data.limit;
|
||||
let local_user = local_user_view.map(|l| l.local_user);
|
||||
let communities = CommunityQuery::builder()
|
||||
.pool(context.pool())
|
||||
.listing_type(listing_type)
|
||||
.show_nsfw(show_nsfw)
|
||||
.sort(sort)
|
||||
.local_user(local_user.as_ref())
|
||||
.page(page)
|
||||
|
|
|
@ -126,6 +126,7 @@ pub struct CommunityQuery<'a> {
|
|||
local_user: Option<&'a LocalUser>,
|
||||
search_term: Option<String>,
|
||||
is_mod_or_admin: Option<bool>,
|
||||
show_nsfw: Option<bool>,
|
||||
page: Option<i64>,
|
||||
limit: Option<i64>,
|
||||
}
|
||||
|
@ -203,8 +204,8 @@ impl<'a> CommunityQuery<'a> {
|
|||
query = query.filter(community_block::person_id.is_null());
|
||||
query = query.filter(community::nsfw.eq(false).or(local_user::show_nsfw.eq(true)));
|
||||
} else {
|
||||
// No person in request, only show nsfw communities if show_nsfw passed into request
|
||||
if !self.local_user.map(|l| l.show_nsfw).unwrap_or(false) {
|
||||
// No person in request, only show nsfw communities if show_nsfw is passed into request
|
||||
if !self.show_nsfw.unwrap_or(false) {
|
||||
query = query.filter(community::nsfw.eq(false));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue