]> Untitled Git - lemmy.git/commitdiff
Fixing person block views. Fixes #2693 (#2694)
authorDessalines <dessalines@users.noreply.github.com>
Fri, 3 Feb 2023 13:45:32 +0000 (08:45 -0500)
committerGitHub <noreply@github.com>
Fri, 3 Feb 2023 13:45:32 +0000 (14:45 +0100)
crates/db_views_actor/src/person_block_view.rs

index 5ece043907e526806667199e8af1da4302062738..7e34a2dfbc8fcfba82d9026042caaa7daae8622b 100644 (file)
@@ -1,5 +1,5 @@
 use crate::structs::PersonBlockView;
-use diesel::{result::Error, ExpressionMethods, QueryDsl};
+use diesel::{result::Error, ExpressionMethods, JoinOnDsl, QueryDsl};
 use diesel_async::RunQueryDsl;
 use lemmy_db_schema::{
   newtypes::PersonId,
@@ -14,17 +14,19 @@ type PersonBlockViewTuple = (PersonSafe, PersonSafe);
 impl PersonBlockView {
   pub async fn for_person(pool: &DbPool, person_id: PersonId) -> Result<Vec<Self>, Error> {
     let conn = &mut get_conn(pool).await?;
-    let person_alias_1 = diesel::alias!(person as person1);
+    let target_person_alias = diesel::alias!(person as person1);
 
     let res = person_block::table
       .inner_join(person::table)
-      .inner_join(person_alias_1)
+      .inner_join(
+        target_person_alias.on(person_block::target_id.eq(target_person_alias.field(person::id))),
+      )
       .select((
         Person::safe_columns_tuple(),
-        person_alias_1.fields(Person::safe_columns_tuple()),
+        target_person_alias.fields(Person::safe_columns_tuple()),
       ))
       .filter(person_block::person_id.eq(person_id))
-      .filter(person_alias_1.field(person::deleted).eq(false))
+      .filter(target_person_alias.field(person::deleted).eq(false))
       .order_by(person_block::published)
       .load::<PersonBlockViewTuple>(conn)
       .await?;