X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapub%2Fsrc%2Fprotocol%2Fobjects%2Fmod.rs;h=9a3dab1859949d91c1c3b9f542fd0eb5970df1d8;hb=92568956353f21649ed9aff68b42699c9d036f30;hp=2dcf1eed74af86dbba7223849710acc3b70973ee;hpb=7e3d3839b60b52f5539699e1291c476820c67d43;p=lemmy.git diff --git a/crates/apub/src/protocol/objects/mod.rs b/crates/apub/src/protocol/objects/mod.rs index 2dcf1eed..9a3dab18 100644 --- a/crates/apub/src/protocol/objects/mod.rs +++ b/crates/apub/src/protocol/objects/mod.rs @@ -1,4 +1,9 @@ -use lemmy_db_schema::{newtypes::LanguageId, source::language::Language, utils::DbPool}; +use lemmy_db_schema::{ + impls::actor_language::UNDETERMINED_ID, + newtypes::LanguageId, + source::language::Language, + utils::DbPool, +}; use lemmy_utils::error::LemmyError; use serde::{Deserialize, Serialize}; use url::Url; @@ -28,12 +33,12 @@ pub(crate) struct LanguageTag { impl LanguageTag { pub(crate) async fn new_single( lang: LanguageId, - pool: &DbPool, + pool: &mut DbPool<'_>, ) -> Result, LemmyError> { let lang = Language::read_from_id(pool, lang).await?; // undetermined - if lang.code == "und" { + if lang.id == UNDETERMINED_ID { Ok(None) } else { Ok(Some(LanguageTag { @@ -45,7 +50,7 @@ impl LanguageTag { pub(crate) async fn new_multiple( lang_ids: Vec, - pool: &DbPool, + pool: &mut DbPool<'_>, ) -> Result, LemmyError> { let mut langs = Vec::::new(); @@ -65,31 +70,34 @@ impl LanguageTag { pub(crate) async fn to_language_id_single( lang: Option, - pool: &DbPool, + pool: &mut DbPool<'_>, ) -> Result, LemmyError> { let identifier = lang.map(|l| l.identifier); - let language = Language::read_id_from_code_opt(pool, identifier.as_deref()).await?; + let language = Language::read_id_from_code(pool, identifier.as_deref()).await?; Ok(language) } pub(crate) async fn to_language_id_multiple( langs: Vec, - pool: &DbPool, + pool: &mut DbPool<'_>, ) -> Result, LemmyError> { let mut language_ids = Vec::new(); for l in langs { let id = l.identifier; - language_ids.push(Language::read_id_from_code(pool, &id).await?); + language_ids.push(Language::read_id_from_code(pool, Some(&id)).await?); } - Ok(language_ids) + Ok(language_ids.into_iter().flatten().collect()) } } #[cfg(test)] mod tests { + #![allow(clippy::unwrap_used)] + #![allow(clippy::indexing_slicing)] + use crate::protocol::{ objects::{ chat_message::ChatMessage,