Fix ordering when doing a comment_parent type `list_comments` (#3823)
authorDessalines <dessalines@users.noreply.github.com>
Mon, 7 Aug 2023 09:11:07 +0000 (05:11 -0400)
committerGitHub <noreply@github.com>
Mon, 7 Aug 2023 09:11:07 +0000 (11:11 +0200)
* Fix ordering when doing a comment_parent type GetPost.

* Fix missing options.

crates/db_views/src/comment_view.rs
crates/db_views/src/post_view.rs

index 4cad1e74528238548ae34fe17c306b0e4021d461..45ab82bd7a51c2f5183463ec6cf7290e51ecb8a6 100644 (file)
@@ -237,8 +237,8 @@ fn queries<'a>() -> Queries<
 
       query = query.filter(nlevel(comment::path).le(depth_limit));
 
-      // only order if filtering by a post id. DOS potential otherwise and max_depth + !post_id isn't used anyways (afaik)
-      if options.post_id.is_some() {
+      // only order if filtering by a post id, or parent_path. DOS potential otherwise and max_depth + !post_id isn't used anyways (afaik)
+      if options.post_id.is_some() || options.parent_path.is_some() {
         // Always order by the parent path first
         query = query.order_by(subpath(comment::path, 0, -1));
       }
index 30de18b694b8e533d59f3de7ba4f67ca561b464c..0f844a49105b8663b5595cb305ad6cf5d7ebf51e 100644 (file)
@@ -308,7 +308,7 @@ fn queries<'a>() -> Queries<
       .unwrap_or(true)
     {
       // Do not hide read posts when it is a user profile view
-      if !is_profile_view {
+      if !options.is_profile_view {
         query = query.filter(post_read::post_id.is_null());
       }
     }