- check_community_ban(
- local_user_view.person.id,
- orig_post.community_id,
- &mut context.pool(),
- )
- .await?;
-
- // Verify that only the creator can edit
- if !Post::is_post_creator(local_user_view.person.id, orig_post.creator_id) {
- return Err(LemmyErrorType::NoPostEditAllowed)?;
- }
-
- // Fetch post links and Pictrs cached image
- let data_url = data.url.as_ref();
- let (metadata_res, thumbnail_url) =
- fetch_site_data(context.client(), context.settings(), data_url, true).await;
- 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 name = sanitize_html_opt(&data.name);
- let body = sanitize_html_opt(&data.body);
- let body = diesel_option_overwrite(body);
- let embed_title = embed_title.map(|e| sanitize_html_opt(&e));
- let embed_description = embed_description.map(|e| sanitize_html_opt(&e));
-
- let language_id = self.language_id;
- CommunityLanguage::is_allowed_community_language(
- &mut context.pool(),
- language_id,
- orig_post.community_id,
- )
- .await?;
-
- let post_form = PostUpdateForm::builder()
- .name(name)
- .url(url)
- .body(body)
- .nsfw(data.nsfw)
- .embed_title(embed_title)
- .embed_description(embed_description)
- .embed_video_url(embed_video_url)
- .language_id(data.language_id)
- .thumbnail_url(Some(thumbnail_url))
- .updated(Some(Some(naive_now())))
- .build();
-
- let post_id = data.post_id;
- Post::update(&mut context.pool(), post_id, &post_form)
- .await
- .with_lemmy_type(LemmyErrorType::CouldntUpdatePost)?;
+ // Verify that only the creator can edit
+ if !Post::is_post_creator(local_user_view.person.id, orig_post.creator_id) {
+ return Err(LemmyErrorType::NoPostEditAllowed)?;
+ }
+
+ // Fetch post links and Pictrs cached image
+ let data_url = data.url.as_ref();
+ let (metadata_res, thumbnail_url) =
+ fetch_site_data(context.client(), context.settings(), data_url, true).await;
+ 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 name = sanitize_html_opt(&data.name);
+ let body = sanitize_html_opt(&data.body);
+ let body = diesel_option_overwrite(body);
+ let embed_title = embed_title.map(|e| sanitize_html_opt(&e));
+ let embed_description = embed_description.map(|e| sanitize_html_opt(&e));
+
+ let language_id = data.language_id;
+ CommunityLanguage::is_allowed_community_language(
+ &mut context.pool(),
+ language_id,
+ orig_post.community_id,
+ )
+ .await?;
+
+ let post_form = PostUpdateForm::builder()
+ .name(name)
+ .url(url)
+ .body(body)
+ .nsfw(data.nsfw)
+ .embed_title(embed_title)
+ .embed_description(embed_description)
+ .embed_video_url(embed_video_url)
+ .language_id(data.language_id)
+ .thumbnail_url(Some(thumbnail_url))
+ .updated(Some(Some(naive_now())))
+ .build();
+
+ let post_id = data.post_id;
+ let updated_post = Post::update(&mut context.pool(), post_id, &post_form)
+ .await
+ .with_lemmy_type(LemmyErrorType::CouldntUpdatePost)?;