X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapub%2Fsrc%2Fhttp%2Fmod.rs;h=c261d9e4929c363385e10756d491967a25f29148;hb=e9e76549a88cfbdab36f00d302cceabcaaa24f4c;hp=947a56adc707ee7bab74927a733655d8e666ade0;hpb=3d7d6b253086f1ac78e6dd459bc4c904df45dbfa;p=lemmy.git diff --git a/crates/apub/src/http/mod.rs b/crates/apub/src/http/mod.rs index 947a56ad..c261d9e4 100644 --- a/crates/apub/src/http/mod.rs +++ b/crates/apub/src/http/mod.rs @@ -13,8 +13,8 @@ use activitypub_federation::{ use actix_web::{web, web::Bytes, HttpRequest, HttpResponse}; use http::StatusCode; use lemmy_api_common::context::LemmyContext; -use lemmy_db_schema::source::activity::Activity; -use lemmy_utils::error::{LemmyError, LemmyResult}; +use lemmy_db_schema::source::activity::SentActivity; +use lemmy_utils::error::{LemmyError, LemmyErrorType, LemmyResult}; use serde::{Deserialize, Serialize}; use std::ops::Deref; use url::Url; @@ -48,7 +48,6 @@ where Ok( HttpResponse::Ok() .content_type(FEDERATION_CONTENT_TYPE) - .content_type("application/activity+json") .body(json), ) } @@ -61,13 +60,12 @@ fn create_apub_tombstone_response>(id: T) -> LemmyResult LemmyError { - LemmyError::from_message("Object not local, fetch it from original instance") + LemmyErrorType::ObjectNotLocal.into() } #[derive(Deserialize)] @@ -90,12 +88,10 @@ pub(crate) async fn get_activity( info.id ))? .into(); - let activity = Activity::read_from_apub_id(context.pool(), &activity_id).await?; + let activity = SentActivity::read_from_apub_id(&mut context.pool(), &activity_id).await?; let sensitive = activity.sensitive; - if !activity.local { - Err(err_object_not_local()) - } else if sensitive { + if sensitive { Ok(HttpResponse::Forbidden().finish()) } else { create_apub_response(&activity.data)