]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/impls/local_site.rs
Adding diesel enums for SortType and ListingType (#2808)
[lemmy.git] / crates / db_schema / src / impls / local_site.rs
index 4686ac80deb2637c69660827811ae0ad17388f07..b9e920d15aa140d5095161f0e47e4b18da75e364 100644 (file)
@@ -1,21 +1,32 @@
-use crate::{schema::local_site::dsl::*, source::local_site::*};
-use diesel::{dsl::*, result::Error, *};
+use crate::{
+  schema::local_site::dsl::local_site,
+  source::local_site::{LocalSite, LocalSiteInsertForm, LocalSiteUpdateForm},
+  utils::{get_conn, DbPool},
+};
+use diesel::{dsl::insert_into, result::Error};
+use diesel_async::RunQueryDsl;
 
 impl LocalSite {
-  pub fn create(conn: &mut PgConnection, form: &LocalSiteInsertForm) -> Result<Self, Error> {
+  pub async fn create(pool: &DbPool, form: &LocalSiteInsertForm) -> Result<Self, Error> {
+    let conn = &mut get_conn(pool).await?;
     insert_into(local_site)
       .values(form)
       .get_result::<Self>(conn)
+      .await
   }
-  pub fn read(conn: &mut PgConnection) -> Result<Self, Error> {
-    local_site.first::<Self>(conn)
+  pub async fn read(pool: &DbPool) -> Result<Self, Error> {
+    let conn = &mut get_conn(pool).await?;
+    local_site.first::<Self>(conn).await
   }
-  pub fn update(conn: &mut PgConnection, form: &LocalSiteUpdateForm) -> Result<Self, Error> {
+  pub async fn update(pool: &DbPool, form: &LocalSiteUpdateForm) -> Result<Self, Error> {
+    let conn = &mut get_conn(pool).await?;
     diesel::update(local_site)
       .set(form)
       .get_result::<Self>(conn)
+      .await
   }
-  pub fn delete(conn: &mut PgConnection) -> Result<usize, Error> {
-    diesel::delete(local_site).execute(conn)
+  pub async fn delete(pool: &DbPool) -> Result<usize, Error> {
+    let conn = &mut get_conn(pool).await?;
+    diesel::delete(local_site).execute(conn).await
   }
 }