X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_views_actor%2Fsrc%2Fperson_mention_view.rs;h=c0fefbe53d7519184365f19d1d31a8df4755376e;hb=985fe24669d3fdeecc0aa76cc74dd6570cbad5c8;hp=16c53e6ef7de1da45cf6d343add9808618a66216;hpb=48f187188bce9f5fa1ac8ee09615540ee4df8540;p=lemmy.git diff --git a/crates/db_views_actor/src/person_mention_view.rs b/crates/db_views_actor/src/person_mention_view.rs index 16c53e6e..c0fefbe5 100644 --- a/crates/db_views_actor/src/person_mention_view.rs +++ b/crates/db_views_actor/src/person_mention_view.rs @@ -27,13 +27,13 @@ use lemmy_db_schema::{ }, source::{ comment::{Comment, CommentSaved}, - community::{Community, CommunityFollower, CommunityPersonBan, CommunitySafe}, - person::{Person, PersonSafe}, + community::{Community, CommunityFollower, CommunityPersonBan}, + person::Person, person_block::PersonBlock, person_mention::PersonMention, post::Post, }, - traits::{ToSafe, ViewToVec}, + traits::JoinView, utils::{functions::hot_rank, get_conn, limit_and_offset, DbPool}, CommentSortType, }; @@ -42,10 +42,10 @@ use typed_builder::TypedBuilder; type PersonMentionViewTuple = ( PersonMention, Comment, - PersonSafe, + Person, Post, - CommunitySafe, - PersonSafe, + Community, + Person, CommentAggregates, Option, Option, @@ -130,10 +130,10 @@ impl PersonMentionView { .select(( person_mention::all_columns, comment::all_columns, - Person::safe_columns_tuple(), + person::all_columns, post::all_columns, - Community::safe_columns_tuple(), - person_alias_1.fields(Person::safe_columns_tuple()), + community::all_columns, + person_alias_1.fields(person::all_columns), comment_aggregates::all_columns, community_person_ban::all_columns.nullable(), community_follower::all_columns.nullable(), @@ -250,10 +250,10 @@ impl<'a> PersonMentionQuery<'a> { .select(( person_mention::all_columns, comment::all_columns, - Person::safe_columns_tuple(), + person::all_columns, post::all_columns, - Community::safe_columns_tuple(), - person_alias_1.fields(Person::safe_columns_tuple()), + community::all_columns, + person_alias_1.fields(person::all_columns), comment_aggregates::all_columns, community_person_ban::all_columns.nullable(), community_follower::all_columns.nullable(), @@ -292,29 +292,26 @@ impl<'a> PersonMentionQuery<'a> { .load::(conn) .await?; - Ok(PersonMentionView::from_tuple_to_vec(res)) + Ok(res.into_iter().map(PersonMentionView::from_tuple).collect()) } } -impl ViewToVec for PersonMentionView { - type DbTuple = PersonMentionViewTuple; - fn from_tuple_to_vec(items: Vec) -> Vec { - items - .into_iter() - .map(|a| Self { - person_mention: a.0, - comment: a.1, - creator: a.2, - post: a.3, - 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(), - my_vote: a.11, - }) - .collect::>() +impl JoinView for PersonMentionView { + type JoinTuple = PersonMentionViewTuple; + fn from_tuple(a: Self::JoinTuple) -> Self { + Self { + person_mention: a.0, + comment: a.1, + creator: a.2, + post: a.3, + 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(), + my_vote: a.11, + } } }