]> Untitled Git - lemmy.git/blobdiff - crates/db_views_actor/src/community_block_view.rs
Diesel 2.0.0 upgrade (#2452)
[lemmy.git] / crates / db_views_actor / src / community_block_view.rs
index 5e24bcaabb206fbf8bd4baa6270e1b80338a4347..96204e7d9a2d3cb9bff9c0d004d938ae3fa97502 100644 (file)
@@ -1,25 +1,19 @@
+use crate::structs::CommunityBlockView;
 use diesel::{result::Error, *};
-use lemmy_db_queries::{ToSafe, ViewToVec};
 use lemmy_db_schema::{
+  newtypes::PersonId,
   schema::{community, community_block, person},
   source::{
     community::{Community, CommunitySafe},
     person::{Person, PersonSafe},
   },
-  PersonId,
+  traits::{ToSafe, ViewToVec},
 };
-use serde::Serialize;
-
-#[derive(Debug, Serialize, Clone)]
-pub struct CommunityBlockView {
-  pub person: PersonSafe,
-  pub community: CommunitySafe,
-}
 
 type CommunityBlockViewTuple = (PersonSafe, CommunitySafe);
 
 impl CommunityBlockView {
-  pub fn for_person(conn: &PgConnection, person_id: PersonId) -> Result<Vec<Self>, Error> {
+  pub fn for_person(conn: &mut PgConnection, person_id: PersonId) -> Result<Vec<Self>, Error> {
     let res = community_block::table
       .inner_join(person::table)
       .inner_join(community::table)
@@ -39,10 +33,10 @@ impl ViewToVec for CommunityBlockView {
   type DbTuple = CommunityBlockViewTuple;
   fn from_tuple_to_vec(items: Vec<Self::DbTuple>) -> Vec<Self> {
     items
-      .iter()
+      .into_iter()
       .map(|a| Self {
-        person: a.0.to_owned(),
-        community: a.1.to_owned(),
+        person: a.0,
+        community: a.1,
       })
       .collect::<Vec<Self>>()
   }