X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Fimpls%2Fpost.rs;h=f10d0cd2793ff515dc2ff24190d02cd87e8bbdba;hb=92568956353f21649ed9aff68b42699c9d036f30;hp=6a4d53d3a9fd81557f7354733923c9e3749edb0e;hpb=206789af67e4b75ec45b3434641ce16ab899c238;p=lemmy.git diff --git a/crates/db_schema/src/impls/post.rs b/crates/db_schema/src/impls/post.rs index 6a4d53d3..f10d0cd2 100644 --- a/crates/db_schema/src/impls/post.rs +++ b/crates/db_schema/src/impls/post.rs @@ -38,17 +38,17 @@ impl Crud for Post { type InsertForm = PostInsertForm; type UpdateForm = PostUpdateForm; type IdType = PostId; - async fn read(pool: &DbPool, post_id: PostId) -> Result { + async fn read(pool: &mut DbPool<'_>, post_id: PostId) -> Result { let conn = &mut get_conn(pool).await?; post.find(post_id).first::(conn).await } - async fn delete(pool: &DbPool, post_id: PostId) -> Result { + async fn delete(pool: &mut DbPool<'_>, post_id: PostId) -> Result { let conn = &mut get_conn(pool).await?; diesel::delete(post.find(post_id)).execute(conn).await } - async fn create(pool: &DbPool, form: &Self::InsertForm) -> Result { + async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { let conn = &mut get_conn(pool).await?; insert_into(post) .values(form) @@ -60,7 +60,7 @@ impl Crud for Post { } async fn update( - pool: &DbPool, + pool: &mut DbPool<'_>, post_id: PostId, new_post: &Self::UpdateForm, ) -> Result { @@ -74,7 +74,7 @@ impl Crud for Post { impl Post { pub async fn list_for_community( - pool: &DbPool, + pool: &mut DbPool<'_>, the_community_id: CommunityId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -90,7 +90,7 @@ impl Post { } pub async fn list_featured_for_community( - pool: &DbPool, + pool: &mut DbPool<'_>, the_community_id: CommunityId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -106,7 +106,7 @@ impl Post { } pub async fn permadelete_for_creator( - pool: &DbPool, + pool: &mut DbPool<'_>, for_creator_id: PersonId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -124,7 +124,7 @@ impl Post { } pub async fn update_removed_for_creator( - pool: &DbPool, + pool: &mut DbPool<'_>, for_creator_id: PersonId, for_community_id: Option, new_removed: bool, @@ -148,7 +148,10 @@ impl Post { person_id == post_creator_id } - pub async fn read_from_apub_id(pool: &DbPool, object_id: Url) -> Result, Error> { + pub async fn read_from_apub_id( + pool: &mut DbPool<'_>, + object_id: Url, + ) -> Result, Error> { let conn = &mut get_conn(pool).await?; let object_id: DbUrl = object_id.into(); Ok( @@ -162,7 +165,7 @@ impl Post { } pub async fn fetch_pictrs_posts_for_creator( - pool: &DbPool, + pool: &mut DbPool<'_>, for_creator_id: PersonId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -177,7 +180,7 @@ impl Post { /// Sets the url and thumbnails fields to None pub async fn remove_pictrs_post_images_and_thumbnails_for_creator( - pool: &DbPool, + pool: &mut DbPool<'_>, for_creator_id: PersonId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -197,7 +200,7 @@ impl Post { } pub async fn fetch_pictrs_posts_for_community( - pool: &DbPool, + pool: &mut DbPool<'_>, for_community_id: CommunityId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -211,7 +214,7 @@ impl Post { /// Sets the url and thumbnails fields to None pub async fn remove_pictrs_post_images_and_thumbnails_for_community( - pool: &DbPool, + pool: &mut DbPool<'_>, for_community_id: CommunityId, ) -> Result, Error> { let conn = &mut get_conn(pool).await?; @@ -235,7 +238,7 @@ impl Post { impl Likeable for PostLike { type Form = PostLikeForm; type IdType = PostId; - async fn like(pool: &DbPool, post_like_form: &PostLikeForm) -> Result { + async fn like(pool: &mut DbPool<'_>, post_like_form: &PostLikeForm) -> Result { use crate::schema::post_like::dsl::{person_id, post_id, post_like}; let conn = &mut get_conn(pool).await?; insert_into(post_like) @@ -246,7 +249,11 @@ impl Likeable for PostLike { .get_result::(conn) .await } - async fn remove(pool: &DbPool, person_id: PersonId, post_id: PostId) -> Result { + async fn remove( + pool: &mut DbPool<'_>, + person_id: PersonId, + post_id: PostId, + ) -> Result { use crate::schema::post_like::dsl; let conn = &mut get_conn(pool).await?; diesel::delete( @@ -262,7 +269,7 @@ impl Likeable for PostLike { #[async_trait] impl Saveable for PostSaved { type Form = PostSavedForm; - async fn save(pool: &DbPool, post_saved_form: &PostSavedForm) -> Result { + async fn save(pool: &mut DbPool<'_>, post_saved_form: &PostSavedForm) -> Result { use crate::schema::post_saved::dsl::{person_id, post_id, post_saved}; let conn = &mut get_conn(pool).await?; insert_into(post_saved) @@ -273,7 +280,7 @@ impl Saveable for PostSaved { .get_result::(conn) .await } - async fn unsave(pool: &DbPool, post_saved_form: &PostSavedForm) -> Result { + async fn unsave(pool: &mut DbPool<'_>, post_saved_form: &PostSavedForm) -> Result { use crate::schema::post_saved::dsl::{person_id, post_id, post_saved}; let conn = &mut get_conn(pool).await?; diesel::delete( @@ -289,7 +296,10 @@ impl Saveable for PostSaved { #[async_trait] impl Readable for PostRead { type Form = PostReadForm; - async fn mark_as_read(pool: &DbPool, post_read_form: &PostReadForm) -> Result { + async fn mark_as_read( + pool: &mut DbPool<'_>, + post_read_form: &PostReadForm, + ) -> Result { use crate::schema::post_read::dsl::{person_id, post_id, post_read}; let conn = &mut get_conn(pool).await?; insert_into(post_read) @@ -301,7 +311,10 @@ impl Readable for PostRead { .await } - async fn mark_as_unread(pool: &DbPool, post_read_form: &PostReadForm) -> Result { + async fn mark_as_unread( + pool: &mut DbPool<'_>, + post_read_form: &PostReadForm, + ) -> Result { use crate::schema::post_read::dsl::{person_id, post_id, post_read}; let conn = &mut get_conn(pool).await?; diesel::delete( @@ -316,6 +329,9 @@ impl Readable for PostRead { #[cfg(test)] mod tests { + #![allow(clippy::unwrap_used)] + #![allow(clippy::indexing_slicing)] + use crate::{ source::{ community::{Community, CommunityInsertForm}, @@ -342,6 +358,7 @@ mod tests { #[serial] async fn test_crud() { let pool = &build_db_pool_for_tests().await; + let pool = &mut pool.into(); let inserted_instance = Instance::read_or_create(pool, "my_domain.tld".to_string()) .await