Allow filtering out of deleted and removed comments when getting person details (#2446)

undefined
pull/2447/head
kartikynwa 2 years ago committed by GitHub
parent 004efd5d94
commit 4e6409f325
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -99,6 +99,7 @@ pub struct GetPersonDetails {
pub limit: Option<i64>,
pub community_id: Option<CommunityId>,
pub saved_only: Option<bool>,
pub show_deleted_and_removed: Option<bool>,
pub auth: Option<Sensitive<String>>,
}

@ -60,6 +60,7 @@ impl PerformCrud for GetPersonDetails {
let page = data.page;
let limit = data.limit;
let saved_only = data.saved_only;
let show_deleted_and_removed = data.show_deleted_and_removed;
let community_id = data.community_id;
let (posts, comments) = blocking(context.pool(), move |conn| {
@ -77,6 +78,7 @@ impl PerformCrud for GetPersonDetails {
.local_user(local_user.as_ref())
.sort(sort.map(post_to_comment_sort_type))
.saved_only(saved_only)
.show_deleted_and_removed(show_deleted_and_removed)
.community_id(community_id)
.page(page)
.limit(limit);

@ -165,6 +165,7 @@ pub struct CommentQuery<'a> {
local_user: Option<&'a LocalUser>,
search_term: Option<String>,
saved_only: Option<bool>,
show_deleted_and_removed: Option<bool>,
page: Option<i64>,
limit: Option<i64>,
max_depth: Option<i32>,
@ -302,6 +303,11 @@ impl<'a> CommentQuery<'a> {
query = query.filter(comment_saved::id.is_not_null());
}
if !self.show_deleted_and_removed.unwrap_or(true) {
query = query.filter(comment::deleted.eq(false));
query = query.filter(comment::removed.eq(false));
}
if !self.local_user.map(|l| l.show_bot_accounts).unwrap_or(true) {
query = query.filter(person::bot_account.eq(false));
};

Loading…
Cancel
Save