From: Dessalines Date: Fri, 3 Feb 2023 13:45:32 +0000 (-0500) Subject: Fixing person block views. Fixes #2693 (#2694) X-Git-Url: http://these/git/%7B%60%24%7BwebArchiveUrl%7D/%22%7B%7D/readmes/%7B%7D/%22%7Burl%7D/%7Biframely.url%7D?a=commitdiff_plain;h=b1e121b5ba10a5dbd1753664c596f662752b8a41;p=lemmy.git Fixing person block views. Fixes #2693 (#2694) --- diff --git a/crates/db_views_actor/src/person_block_view.rs b/crates/db_views_actor/src/person_block_view.rs index 5ece0439..7e34a2df 100644 --- a/crates/db_views_actor/src/person_block_view.rs +++ b/crates/db_views_actor/src/person_block_view.rs @@ -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, 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::(conn) .await?;