]> Untitled Git - lemmy.git/blobdiff - crates/db_views_actor/src/person_mention_view.rs
Reduce amount of columns selected (#3755)
[lemmy.git] / crates / db_views_actor / src / person_mention_view.rs
index 6528ab5dab4560eac5803cd4386249ffd9613d2d..0d8aed27937e6211ac290062fc89127e65b2bcce 100644 (file)
@@ -28,16 +28,16 @@ use lemmy_db_schema::{
     post,
   },
   source::{
-    comment::{Comment, CommentSaved},
-    community::{Community, CommunityFollower, CommunityPersonBan},
+    comment::Comment,
+    community::{Community, CommunityFollower},
     person::Person,
-    person_block::PersonBlock,
     person_mention::PersonMention,
     post::Post,
   },
   traits::JoinView,
   utils::{get_conn, limit_and_offset, DbConn, DbPool, ListFn, Queries, ReadFn},
   CommentSortType,
+  SubscribedType,
 };
 
 type PersonMentionViewTuple = (
@@ -48,10 +48,10 @@ type PersonMentionViewTuple = (
   Community,
   Person,
   CommentAggregates,
-  Option<CommunityPersonBan>,
-  Option<CommunityFollower>,
-  Option<CommentSaved>,
-  Option<PersonBlock>,
+  bool,
+  SubscribedType,
+  bool,
+  bool,
   Option<i16>,
 );
 
@@ -108,10 +108,10 @@ fn queries<'a>() -> Queries<
     community::all_columns,
     aliases::person1.fields(person::all_columns),
     comment_aggregates::all_columns,
-    community_person_ban::all_columns.nullable(),
-    community_follower::all_columns.nullable(),
-    comment_saved::all_columns.nullable(),
-    person_block::all_columns.nullable(),
+    community_person_ban::id.nullable().is_not_null(),
+    CommunityFollower::select_subscribed_type(),
+    comment_saved::id.nullable().is_not_null(),
+    person_block::id.nullable().is_not_null(),
     comment_like::score.nullable(),
   );
 
@@ -243,10 +243,10 @@ impl JoinView for PersonMentionView {
       community: a.4,
       recipient: a.5,
       counts: a.6,
-      creator_banned_from_community: a.7.is_some(),
-      subscribed: CommunityFollower::to_subscribed_type(&a.8),
-      saved: a.9.is_some(),
-      creator_blocked: a.10.is_some(),
+      creator_banned_from_community: a.7,
+      subscribed: a.8,
+      saved: a.9,
+      creator_blocked: a.10,
       my_vote: a.11,
     }
   }