X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapub%2Fsrc%2Fobjects%2Fperson.rs;h=d28f8c7cf335982d07b74753ea447c9c06eed703;hb=92568956353f21649ed9aff68b42699c9d036f30;hp=c71d46ccff80bd0c13ccde672b730a8a0ce9def1;hpb=e3eda68147f76c654b54cf0a5702ef90b5dd8efe;p=lemmy.git diff --git a/crates/apub/src/objects/person.rs b/crates/apub/src/objects/person.rs index c71d46cc..d28f8c7c 100644 --- a/crates/apub/src/objects/person.rs +++ b/crates/apub/src/objects/person.rs @@ -1,6 +1,6 @@ use crate::{ check_apub_id_valid_with_strictness, - fetch_local_site_data, + local_site_data_cached, objects::{instance::fetch_instance_actor_for_object, read_from_string_or_source_opt}, protocol::{ objects::{ @@ -69,7 +69,7 @@ impl Object for ApubPerson { context: &Data, ) -> Result, LemmyError> { Ok( - DbPerson::read_from_apub_id(context.pool(), &object_id.into()) + DbPerson::read_from_apub_id(&mut context.pool(), &object_id.into()) .await? .map(Into::into), ) @@ -78,7 +78,7 @@ impl Object for ApubPerson { #[tracing::instrument(skip_all)] async fn delete(self, context: &Data) -> Result<(), LemmyError> { let form = PersonUpdateForm::builder().deleted(Some(true)).build(); - DbPerson::update(context.pool(), self.id, &form).await?; + DbPerson::update(&mut context.pool(), self.id, &form).await?; Ok(()) } @@ -118,19 +118,13 @@ impl Object for ApubPerson { expected_domain: &Url, context: &Data, ) -> Result<(), LemmyError> { - let local_site_data = fetch_local_site_data(context.pool()).await?; + let local_site_data = local_site_data_cached(&mut context.pool()).await?; let slur_regex = &local_site_opt_to_slur_regex(&local_site_data.local_site); - check_slurs(&person.preferred_username, slur_regex)?; check_slurs_opt(&person.name, slur_regex)?; verify_domains_match(person.id.inner(), expected_domain)?; - check_apub_id_valid_with_strictness( - person.id.inner(), - false, - &local_site_data, - context.settings(), - )?; + check_apub_id_valid_with_strictness(person.id.inner(), false, context).await?; let bio = read_from_string_or_source_opt(&person.summary, &None, &person.source); check_slurs_opt(&bio, slur_regex)?; @@ -171,7 +165,7 @@ impl Object for ApubPerson { matrix_user_id: person.matrix_user_id, instance_id, }; - let person = DbPerson::upsert(context.pool(), &person_form).await?; + let person = DbPerson::upsert(&mut context.pool(), &person_form).await?; Ok(person.into()) } @@ -201,6 +195,9 @@ impl Actor for ApubPerson { #[cfg(test)] pub(crate) mod tests { + #![allow(clippy::unwrap_used)] + #![allow(clippy::indexing_slicing)] + use super::*; use crate::{ objects::{ @@ -223,7 +220,7 @@ pub(crate) mod tests { (person, site) } - #[actix_rt::test] + #[tokio::test] #[serial] async fn test_parse_lemmy_person() { let context = init_context().await; @@ -236,7 +233,7 @@ pub(crate) mod tests { cleanup((person, site), &context).await; } - #[actix_rt::test] + #[tokio::test] #[serial] async fn test_parse_pleroma_person() { let context = init_context().await; @@ -262,7 +259,9 @@ pub(crate) mod tests { } async fn cleanup(data: (ApubPerson, ApubSite), context: &LemmyContext) { - DbPerson::delete(context.pool(), data.0.id).await.unwrap(); - Site::delete(context.pool(), data.1.id).await.unwrap(); + DbPerson::delete(&mut context.pool(), data.0.id) + .await + .unwrap(); + Site::delete(&mut context.pool(), data.1.id).await.unwrap(); } }