]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/post/create.rs
Diesel 2.0.0 upgrade (#2452)
[lemmy.git] / crates / api_crud / src / post / create.rs
index 1a6c100db4bb92f4e900931142dff37aec363419..0d4271a80bde6cf9dedbcb0d70d34e0cf8252cbe 100644 (file)
@@ -21,6 +21,7 @@ use lemmy_apub::{
 use lemmy_db_schema::{
   source::{
     community::Community,
+    language::Language,
     post::{Post, PostForm, PostLike, PostLikeForm},
   },
   traits::{Crud, Likeable},
@@ -89,6 +90,14 @@ impl PerformCrud for CreatePost {
     let (embed_title, embed_description, embed_video_url) = metadata_res
       .map(|u| (Some(u.title), Some(u.description), Some(u.embed_video_url)))
       .unwrap_or_default();
+    let language_id = Some(
+      data.language_id.unwrap_or(
+        blocking(context.pool(), move |conn| {
+          Language::read_undetermined(conn)
+        })
+        .await??,
+      ),
+    );
 
     let post_form = PostForm {
       name: data.name.trim().to_owned(),
@@ -100,6 +109,7 @@ impl PerformCrud for CreatePost {
       embed_title,
       embed_description,
       embed_video_url,
+      language_id,
       thumbnail_url: Some(thumbnail_url),
       ..PostForm::default()
     };
@@ -140,7 +150,7 @@ impl PerformCrud for CreatePost {
       score: 1,
     };
 
-    let like = move |conn: &'_ _| PostLike::like(conn, &like_form);
+    let like = move |conn: &mut _| PostLike::like(conn, &like_form);
     blocking(context.pool(), like)
       .await?
       .map_err(|e| LemmyError::from_error_message(e, "couldnt_like_post"))?;