self,
source::{
community::Community,
- language::Language,
moderator::{ModLockPost, ModLockPostForm, ModStickyPost, ModStickyPostForm},
person::Person,
post::{Post, PostForm},
Community::read(conn, community_id)
})
.await??;
- let language = self.language_id;
- let language = blocking(context.pool(), move |conn| {
- Language::read_from_id(conn, language)
- })
- .await??;
+ let language = LanguageTag::new_single(self.language_id, context.pool()).await?;
let page = Page {
kind: PageType::Page,
comments_enabled: Some(!self.locked),
sensitive: Some(self.nsfw),
stickied: Some(self.stickied),
- language: LanguageTag::new(language),
+ language,
published: Some(convert_datetime(self.published)),
updated: self.updated.map(convert_datetime),
};
let body_slurs_removed =
read_from_string_or_source_opt(&page.content, &page.media_type, &page.source)
.map(|s| Some(remove_slurs(&s, &context.settings().slur_regex())));
- let language = page.language.map(|l| l.identifier);
- let language = blocking(context.pool(), move |conn| {
- Language::read_id_from_code_opt(conn, language.as_deref())
- })
- .await??;
+ let language_id = LanguageTag::to_language_id_single(page.language, context.pool()).await?;
PostForm {
name: page.name.clone(),
thumbnail_url: Some(thumbnail_url),
ap_id: Some(page.id.clone().into()),
local: Some(false),
- language_id: language,
+ language_id,
}
} else {
// if is mod action, only update locked/stickied fields, nothing else