From 43789f04ec6fd6c092a7b5eedac4ad5404e3f6fe Mon Sep 17 00:00:00 2001 From: dull b Date: Fri, 14 Jul 2023 14:56:26 +0000 Subject: [PATCH] Stuff --- crates/db_schema/src/impls/activity.rs | 4 - crates/db_schema/src/impls/comment.rs | 4 - crates/db_schema/src/impls/comment_reply.rs | 7 -- crates/db_schema/src/impls/community.rs | 7 -- crates/db_schema/src/impls/local_user.rs | 5 +- crates/db_schema/src/impls/moderator.rs | 85 ------------------- .../src/impls/password_reset_request.rs | 8 +- crates/db_schema/src/impls/person.rs | 9 +- crates/db_schema/src/impls/person_mention.rs | 7 -- crates/db_schema/src/impls/post.rs | 4 - crates/db_schema/src/impls/private_message.rs | 10 --- .../src/impls/registration_application.rs | 5 -- crates/db_schema/src/impls/site.rs | 16 +++- crates/db_schema/src/traits.rs | 11 ++- 14 files changed, 26 insertions(+), 156 deletions(-) diff --git a/crates/db_schema/src/impls/activity.rs b/crates/db_schema/src/impls/activity.rs index 4e581f95c..0fff4d5b2 100644 --- a/crates/db_schema/src/impls/activity.rs +++ b/crates/db_schema/src/impls/activity.rs @@ -13,10 +13,6 @@ impl Crud for Activity { type InsertForm = ActivityInsertForm; type UpdateForm = ActivityUpdateForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, activity_id: i32) -> Result { - let conn = &mut get_conn(pool).await?; - activity.find(activity_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, new_activity: &Self::InsertForm) -> Result { let conn = &mut get_conn(pool).await?; diff --git a/crates/db_schema/src/impls/comment.rs b/crates/db_schema/src/impls/comment.rs index 2b5b74a1a..50ce75f88 100644 --- a/crates/db_schema/src/impls/comment.rs +++ b/crates/db_schema/src/impls/comment.rs @@ -156,10 +156,6 @@ impl Crud for Comment { type InsertForm = CommentInsertForm; type UpdateForm = CommentUpdateForm; type IdType = CommentId; - async fn read(pool: &mut DbPool<'_>, comment_id: CommentId) -> Result { - let conn = &mut get_conn(pool).await?; - comment.find(comment_id).first::(conn).await - } async fn delete(pool: &mut DbPool<'_>, comment_id: CommentId) -> Result { let conn = &mut get_conn(pool).await?; diff --git a/crates/db_schema/src/impls/comment_reply.rs b/crates/db_schema/src/impls/comment_reply.rs index c5939334d..83be5ce40 100644 --- a/crates/db_schema/src/impls/comment_reply.rs +++ b/crates/db_schema/src/impls/comment_reply.rs @@ -13,13 +13,6 @@ impl Crud for CommentReply { type InsertForm = CommentReplyInsertForm; type UpdateForm = CommentReplyUpdateForm; type IdType = CommentReplyId; - async fn read(pool: &mut DbPool<'_>, comment_reply_id: CommentReplyId) -> Result { - let conn = &mut get_conn(pool).await?; - comment_reply - .find(comment_reply_id) - .first::(conn) - .await - } async fn create( pool: &mut DbPool<'_>, diff --git a/crates/db_schema/src/impls/community.rs b/crates/db_schema/src/impls/community.rs index babb9a5a1..9610f0237 100644 --- a/crates/db_schema/src/impls/community.rs +++ b/crates/db_schema/src/impls/community.rs @@ -27,13 +27,6 @@ impl Crud for Community { type InsertForm = CommunityInsertForm; type UpdateForm = CommunityUpdateForm; type IdType = CommunityId; - async fn read(pool: &mut DbPool<'_>, community_id: CommunityId) -> Result { - let conn = &mut get_conn(pool).await?; - community::table - .find(community_id) - .first::(conn) - .await - } async fn delete(pool: &mut DbPool<'_>, community_id: CommunityId) -> Result { let conn = &mut get_conn(pool).await?; diff --git a/crates/db_schema/src/impls/local_user.rs b/crates/db_schema/src/impls/local_user.rs index 0a72811ae..ba882297c 100644 --- a/crates/db_schema/src/impls/local_user.rs +++ b/crates/db_schema/src/impls/local_user.rs @@ -69,10 +69,7 @@ impl Crud for LocalUser { type InsertForm = LocalUserInsertForm; type UpdateForm = LocalUserUpdateForm; type IdType = LocalUserId; - async fn read(pool: &mut DbPool<'_>, local_user_id: LocalUserId) -> Result { - let conn = &mut get_conn(pool).await?; - local_user.find(local_user_id).first::(conn).await - } + async fn delete(pool: &mut DbPool<'_>, local_user_id: LocalUserId) -> Result { let conn = &mut get_conn(pool).await?; diesel::delete(local_user.find(local_user_id)) diff --git a/crates/db_schema/src/impls/moderator.rs b/crates/db_schema/src/impls/moderator.rs index 32201b3cf..635c97cae 100644 --- a/crates/db_schema/src/impls/moderator.rs +++ b/crates/db_schema/src/impls/moderator.rs @@ -42,11 +42,6 @@ impl Crud for ModRemovePost { type InsertForm = ModRemovePostForm; type UpdateForm = ModRemovePostForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_remove_post::dsl::mod_remove_post; - let conn = &mut get_conn(pool).await?; - mod_remove_post.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModRemovePostForm) -> Result { use crate::schema::mod_remove_post::dsl::mod_remove_post; @@ -76,11 +71,6 @@ impl Crud for ModLockPost { type InsertForm = ModLockPostForm; type UpdateForm = ModLockPostForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_lock_post::dsl::mod_lock_post; - let conn = &mut get_conn(pool).await?; - mod_lock_post.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModLockPostForm) -> Result { use crate::schema::mod_lock_post::dsl::mod_lock_post; @@ -110,11 +100,6 @@ impl Crud for ModFeaturePost { type InsertForm = ModFeaturePostForm; type UpdateForm = ModFeaturePostForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_feature_post::dsl::mod_feature_post; - let conn = &mut get_conn(pool).await?; - mod_feature_post.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModFeaturePostForm) -> Result { use crate::schema::mod_feature_post::dsl::mod_feature_post; @@ -144,11 +129,6 @@ impl Crud for ModRemoveComment { type InsertForm = ModRemoveCommentForm; type UpdateForm = ModRemoveCommentForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_remove_comment::dsl::mod_remove_comment; - let conn = &mut get_conn(pool).await?; - mod_remove_comment.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModRemoveCommentForm) -> Result { use crate::schema::mod_remove_comment::dsl::mod_remove_comment; @@ -178,11 +158,6 @@ impl Crud for ModRemoveCommunity { type InsertForm = ModRemoveCommunityForm; type UpdateForm = ModRemoveCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_remove_community::dsl::mod_remove_community; - let conn = &mut get_conn(pool).await?; - mod_remove_community.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModRemoveCommunityForm) -> Result { use crate::schema::mod_remove_community::dsl::mod_remove_community; @@ -212,14 +187,6 @@ impl Crud for ModBanFromCommunity { type InsertForm = ModBanFromCommunityForm; type UpdateForm = ModBanFromCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_ban_from_community::dsl::mod_ban_from_community; - let conn = &mut get_conn(pool).await?; - mod_ban_from_community - .find(from_id) - .first::(conn) - .await - } async fn create(pool: &mut DbPool<'_>, form: &ModBanFromCommunityForm) -> Result { use crate::schema::mod_ban_from_community::dsl::mod_ban_from_community; @@ -249,11 +216,6 @@ impl Crud for ModBan { type InsertForm = ModBanForm; type UpdateForm = ModBanForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_ban::dsl::mod_ban; - let conn = &mut get_conn(pool).await?; - mod_ban.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModBanForm) -> Result { use crate::schema::mod_ban::dsl::mod_ban; @@ -280,12 +242,6 @@ impl Crud for ModHideCommunity { type UpdateForm = ModHideCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_hide_community::dsl::mod_hide_community; - let conn = &mut get_conn(pool).await?; - mod_hide_community.find(from_id).first::(conn).await - } - async fn create(pool: &mut DbPool<'_>, form: &ModHideCommunityForm) -> Result { use crate::schema::mod_hide_community::dsl::mod_hide_community; let conn = &mut get_conn(pool).await?; @@ -314,11 +270,6 @@ impl Crud for ModAddCommunity { type InsertForm = ModAddCommunityForm; type UpdateForm = ModAddCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_add_community::dsl::mod_add_community; - let conn = &mut get_conn(pool).await?; - mod_add_community.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModAddCommunityForm) -> Result { use crate::schema::mod_add_community::dsl::mod_add_community; @@ -348,14 +299,6 @@ impl Crud for ModTransferCommunity { type InsertForm = ModTransferCommunityForm; type UpdateForm = ModTransferCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_transfer_community::dsl::mod_transfer_community; - let conn = &mut get_conn(pool).await?; - mod_transfer_community - .find(from_id) - .first::(conn) - .await - } async fn create(pool: &mut DbPool<'_>, form: &ModTransferCommunityForm) -> Result { use crate::schema::mod_transfer_community::dsl::mod_transfer_community; @@ -385,11 +328,6 @@ impl Crud for ModAdd { type InsertForm = ModAddForm; type UpdateForm = ModAddForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::mod_add::dsl::mod_add; - let conn = &mut get_conn(pool).await?; - mod_add.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &ModAddForm) -> Result { use crate::schema::mod_add::dsl::mod_add; @@ -415,11 +353,6 @@ impl Crud for AdminPurgePerson { type InsertForm = AdminPurgePersonForm; type UpdateForm = AdminPurgePersonForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::admin_purge_person::dsl::admin_purge_person; - let conn = &mut get_conn(pool).await?; - admin_purge_person.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { use crate::schema::admin_purge_person::dsl::admin_purge_person; @@ -449,14 +382,6 @@ impl Crud for AdminPurgeCommunity { type InsertForm = AdminPurgeCommunityForm; type UpdateForm = AdminPurgeCommunityForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::admin_purge_community::dsl::admin_purge_community; - let conn = &mut get_conn(pool).await?; - admin_purge_community - .find(from_id) - .first::(conn) - .await - } async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { use crate::schema::admin_purge_community::dsl::admin_purge_community; @@ -486,11 +411,6 @@ impl Crud for AdminPurgePost { type InsertForm = AdminPurgePostForm; type UpdateForm = AdminPurgePostForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::admin_purge_post::dsl::admin_purge_post; - let conn = &mut get_conn(pool).await?; - admin_purge_post.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { use crate::schema::admin_purge_post::dsl::admin_purge_post; @@ -520,11 +440,6 @@ impl Crud for AdminPurgeComment { type InsertForm = AdminPurgeCommentForm; type UpdateForm = AdminPurgeCommentForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, from_id: i32) -> Result { - use crate::schema::admin_purge_comment::dsl::admin_purge_comment; - let conn = &mut get_conn(pool).await?; - admin_purge_comment.find(from_id).first::(conn).await - } async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { use crate::schema::admin_purge_comment::dsl::admin_purge_comment; diff --git a/crates/db_schema/src/impls/password_reset_request.rs b/crates/db_schema/src/impls/password_reset_request.rs index 3d1a1e8eb..141a5bf92 100644 --- a/crates/db_schema/src/impls/password_reset_request.rs +++ b/crates/db_schema/src/impls/password_reset_request.rs @@ -24,13 +24,7 @@ impl Crud for PasswordResetRequest { type InsertForm = PasswordResetRequestForm; type UpdateForm = PasswordResetRequestForm; type IdType = i32; - async fn read(pool: &mut DbPool<'_>, password_reset_request_id: i32) -> Result { - let conn = &mut get_conn(pool).await?; - password_reset_request - .find(password_reset_request_id) - .first::(conn) - .await - } + async fn create(pool: &mut DbPool<'_>, form: &PasswordResetRequestForm) -> Result { let conn = &mut get_conn(pool).await?; insert_into(password_reset_request) diff --git a/crates/db_schema/src/impls/person.rs b/crates/db_schema/src/impls/person.rs index bd9ad405b..c2ac43a15 100644 --- a/crates/db_schema/src/impls/person.rs +++ b/crates/db_schema/src/impls/person.rs @@ -19,14 +19,7 @@ impl Crud for Person { type InsertForm = PersonInsertForm; type UpdateForm = PersonUpdateForm; type IdType = PersonId; - async fn read(pool: &mut DbPool<'_>, person_id: PersonId) -> Result { - let conn = &mut get_conn(pool).await?; - person::table - .filter(person::deleted.eq(false)) - .find(person_id) - .first::(conn) - .await - } + async fn delete(pool: &mut DbPool<'_>, person_id: PersonId) -> Result { let conn = &mut get_conn(pool).await?; diesel::delete(person::table.find(person_id)) diff --git a/crates/db_schema/src/impls/person_mention.rs b/crates/db_schema/src/impls/person_mention.rs index 25b199e62..51e1224c2 100644 --- a/crates/db_schema/src/impls/person_mention.rs +++ b/crates/db_schema/src/impls/person_mention.rs @@ -13,13 +13,6 @@ impl Crud for PersonMention { type InsertForm = PersonMentionInsertForm; type UpdateForm = PersonMentionUpdateForm; type IdType = PersonMentionId; - async fn read(pool: &mut DbPool<'_>, person_mention_id: PersonMentionId) -> Result { - let conn = &mut get_conn(pool).await?; - person_mention - .find(person_mention_id) - .first::(conn) - .await - } async fn create( pool: &mut DbPool<'_>, diff --git a/crates/db_schema/src/impls/post.rs b/crates/db_schema/src/impls/post.rs index b775860a4..8d6d3029d 100644 --- a/crates/db_schema/src/impls/post.rs +++ b/crates/db_schema/src/impls/post.rs @@ -38,10 +38,6 @@ impl Crud for Post { type InsertForm = PostInsertForm; type UpdateForm = PostUpdateForm; type IdType = PostId; - 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: &mut DbPool<'_>, post_id: PostId) -> Result { let conn = &mut get_conn(pool).await?; diff --git a/crates/db_schema/src/impls/private_message.rs b/crates/db_schema/src/impls/private_message.rs index 2febaa769..2f46412b1 100644 --- a/crates/db_schema/src/impls/private_message.rs +++ b/crates/db_schema/src/impls/private_message.rs @@ -15,16 +15,6 @@ impl Crud for PrivateMessage { type InsertForm = PrivateMessageInsertForm; type UpdateForm = PrivateMessageUpdateForm; type IdType = PrivateMessageId; - async fn read( - pool: &mut DbPool<'_>, - private_message_id: PrivateMessageId, - ) -> Result { - let conn = &mut get_conn(pool).await?; - private_message - .find(private_message_id) - .first::(conn) - .await - } async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result { let conn = &mut get_conn(pool).await?; diff --git a/crates/db_schema/src/impls/registration_application.rs b/crates/db_schema/src/impls/registration_application.rs index c8c622889..5dd6b8e1e 100644 --- a/crates/db_schema/src/impls/registration_application.rs +++ b/crates/db_schema/src/impls/registration_application.rs @@ -26,11 +26,6 @@ impl Crud for RegistrationApplication { .await } - async fn read(pool: &mut DbPool<'_>, id_: Self::IdType) -> Result { - let conn = &mut get_conn(pool).await?; - registration_application.find(id_).first::(conn).await - } - async fn update( pool: &mut DbPool<'_>, id_: Self::IdType, diff --git a/crates/db_schema/src/impls/site.rs b/crates/db_schema/src/impls/site.rs index 806def96a..7faefa51f 100644 --- a/crates/db_schema/src/impls/site.rs +++ b/crates/db_schema/src/impls/site.rs @@ -19,7 +19,21 @@ impl Crud for Site { type IdType = SiteId; /// Use SiteView::read_local, or Site::read_from_apub_id instead - async fn read(_pool: &mut DbPool<'_>, _site_id: SiteId) -> Result { + async fn read<'conn, 'pool: 'conn>( + _pool: &'pool mut DbPool<'_>, + _site_id: SiteId, + ) -> Result + where + diesel::helper_types::Limit< + ::PrimaryKey, Self::IdType>, + >>::Output, + >: diesel_async::methods::LoadQuery<'static, crate::utils::DbConn<'pool>, Self> + + Send + + 'static + + Sized, + 'async_trait: 'conn, + { unimplemented!() } diff --git a/crates/db_schema/src/traits.rs b/crates/db_schema/src/traits.rs index 650334940..786f852fa 100644 --- a/crates/db_schema/src/traits.rs +++ b/crates/db_schema/src/traits.rs @@ -61,17 +61,22 @@ where .get_result::(conn) .await }*/ - async fn read(pool: &'async_trait mut DbPool<'_>, id: Self::IdType) -> Result + async fn read<'conn, 'pool: 'conn>( + pool: &'pool mut DbPool<'_>, + id: Self::IdType, + ) -> Result where diesel::helper_types::Limit< ::PrimaryKey, Self::IdType>>>::Output, - >: LoadQuery<'static, DbConn<'async_trait>, Self> + Send + 'static + Sized, + >: LoadQuery<'static, DbConn<'pool>, Self> + Send + 'static + Sized, + Self: 'conn, { let col = Self::table().primary_key(); // FindDsl is not used because it uses a private trait let query = FilterDsl::filter(Self::table(), ExpressionMethods::eq(col, id)); let mut conn = get_conn(pool).await?; - let future = RunQueryDsl::first::<'static, 'async_trait, Self>(query, &mut conn); + let conn_ref = &mut conn; + let future = RunQueryDsl::first::<'_, '_, Self>(query, conn_ref); future.await } /// when you want to null out a column, you have to send Some(None)), since sending None means you just don't want to update that column.