X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_views_moderator%2Fsrc%2Fmod_transfer_community_view.rs;h=60da8e83f5a0c20f1617520d8d30aa8754d7149e;hb=985fe24669d3fdeecc0aa76cc74dd6570cbad5c8;hp=182558a4ae27877e34c0f499228fc738cacb5ca3;hpb=48f187188bce9f5fa1ac8ee09615540ee4df8540;p=lemmy.git diff --git a/crates/db_views_moderator/src/mod_transfer_community_view.rs b/crates/db_views_moderator/src/mod_transfer_community_view.rs index 182558a4..60da8e83 100644 --- a/crates/db_views_moderator/src/mod_transfer_community_view.rs +++ b/crates/db_views_moderator/src/mod_transfer_community_view.rs @@ -12,21 +12,12 @@ use diesel_async::RunQueryDsl; use lemmy_db_schema::{ newtypes::PersonId, schema::{community, mod_transfer_community, person}, - source::{ - community::{Community, CommunitySafe}, - moderator::ModTransferCommunity, - person::{Person, PersonSafe}, - }, - traits::{ToSafe, ViewToVec}, + source::{community::Community, moderator::ModTransferCommunity, person::Person}, + traits::JoinView, utils::{get_conn, limit_and_offset, DbPool}, }; -type ModTransferCommunityViewTuple = ( - ModTransferCommunity, - Option, - CommunitySafe, - PersonSafe, -); +type ModTransferCommunityViewTuple = (ModTransferCommunity, Option, Community, Person); impl ModTransferCommunityView { pub async fn list(pool: &DbPool, params: ModlogListParams) -> Result, Error> { @@ -49,9 +40,9 @@ impl ModTransferCommunityView { ) .select(( mod_transfer_community::all_columns, - Person::safe_columns_tuple().nullable(), - Community::safe_columns_tuple(), - person_alias_1.fields(Person::safe_columns_tuple()), + person::all_columns.nullable(), + community::all_columns, + person_alias_1.fields(person::all_columns), )) .into_boxed(); @@ -76,22 +67,19 @@ impl ModTransferCommunityView { .load::(conn) .await?; - let results = Self::from_tuple_to_vec(res); + let results = res.into_iter().map(Self::from_tuple).collect(); Ok(results) } } -impl ViewToVec for ModTransferCommunityView { - type DbTuple = ModTransferCommunityViewTuple; - fn from_tuple_to_vec(items: Vec) -> Vec { - items - .into_iter() - .map(|a| Self { - mod_transfer_community: a.0, - moderator: a.1, - community: a.2, - modded_person: a.3, - }) - .collect::>() +impl JoinView for ModTransferCommunityView { + type JoinTuple = ModTransferCommunityViewTuple; + fn from_tuple(a: Self::JoinTuple) -> Self { + Self { + mod_transfer_community: a.0, + moderator: a.1, + community: a.2, + modded_person: a.3, + } } }