From ca8fdb33ba0df583c74a5c5fbf475ff0847cec4d Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sun, 17 May 2026 23:12:03 +0200 Subject: [PATCH] fix: resolve movies-diary compile errors after k-ap migration --- Cargo.lock | 47 ++++++++++--------- .../activitypub/src/composite_handler.rs | 16 +++++++ .../adapters/activitypub/src/event_handler.rs | 6 +-- crates/adapters/activitypub/src/lib.rs | 12 ++--- .../activitypub/src/review_handler.rs | 16 +++++++ .../activitypub/src/watchlist_handler.rs | 16 +++++++ 6 files changed, 81 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eea4f88..f4fa9e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,13 +6,13 @@ version = 4 name = "activitypub" version = "0.1.0" dependencies = [ - "activitypub-base", "activitypub_federation", "anyhow", "async-trait", "axum", "chrono", "domain", + "k-ap", "serde", "serde_json", "tracing", @@ -20,26 +20,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "activitypub-base" -version = "0.1.0" -dependencies = [ - "activitypub_federation", - "anyhow", - "async-trait", - "axum", - "chrono", - "domain", - "enum_delegate", - "reqwest 0.13.3", - "serde", - "serde_json", - "tokio", - "tracing", - "url", - "uuid", -] - [[package]] name = "activitypub_federation" version = "0.7.0-beta.11" @@ -2800,6 +2780,27 @@ dependencies = [ "simple_asn1", ] +[[package]] +name = "k-ap" +version = "0.1.0" +source = "git+https://git.gabrielkaszewski.dev/GKaszewski/k-ap.git?tag=v0.1.2#767b1e69d4f384093ea33d72d5aa46ff140f5ac8" +dependencies = [ + "activitypub_federation", + "anyhow", + "async-trait", + "axum", + "chrono", + "enum_delegate", + "futures", + "reqwest 0.13.3", + "serde", + "serde_json", + "tokio", + "tracing", + "url", + "uuid", +] + [[package]] name = "kasuari" version = "0.4.12" @@ -3761,11 +3762,11 @@ name = "postgres-federation" version = "0.1.0" dependencies = [ "activitypub", - "activitypub-base", "anyhow", "async-trait", "chrono", "domain", + "k-ap", "sqlx", "tracing", "uuid", @@ -5028,11 +5029,11 @@ name = "sqlite-federation" version = "0.1.0" dependencies = [ "activitypub", - "activitypub-base", "anyhow", "async-trait", "chrono", "domain", + "k-ap", "sqlx", "tokio", "tracing", diff --git a/crates/adapters/activitypub/src/composite_handler.rs b/crates/adapters/activitypub/src/composite_handler.rs index 2ec6a71..ba0ba69 100644 --- a/crates/adapters/activitypub/src/composite_handler.rs +++ b/crates/adapters/activitypub/src/composite_handler.rs @@ -78,4 +78,20 @@ impl ApObjectHandler for CompositeObjectHandler { async fn count_local_posts(&self) -> anyhow::Result { self.review.count_local_posts().await } + + async fn on_like(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_announce_received(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_unlike(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_mention(&self, _thought_ap_id: &Url, _mentioned_user_uuid: uuid::Uuid, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } } diff --git a/crates/adapters/activitypub/src/event_handler.rs b/crates/adapters/activitypub/src/event_handler.rs index d4b099c..539053c 100644 --- a/crates/adapters/activitypub/src/event_handler.rs +++ b/crates/adapters/activitypub/src/event_handler.rs @@ -129,7 +129,7 @@ impl ActivityPubEventHandler { let json = serde_json::to_value(obj)?; self.ap_service - .broadcast_to_followers(user_id.value(), ap_id, json) + .broadcast_add_to_followers(user_id.value(), ap_id, json) .await?; Ok(()) @@ -179,7 +179,7 @@ impl ActivityPubEventHandler { let json = serde_json::to_value(obj)?; self.ap_service - .broadcast_update_to_followers(user_id.value(), json) + .broadcast_update_note(user_id.value(), json) .await?; Ok(()) @@ -236,7 +236,7 @@ impl ActivityPubEventHandler { let json = serde_json::to_value(obj)?; self.ap_service - .broadcast_to_followers(user_id.value(), ap_id, json) + .broadcast_add_to_followers(user_id.value(), ap_id, json) .await?; Ok(()) } diff --git a/crates/adapters/activitypub/src/lib.rs b/crates/adapters/activitypub/src/lib.rs index fe894b9..a3dc8e1 100644 --- a/crates/adapters/activitypub/src/lib.rs +++ b/crates/adapters/activitypub/src/lib.rs @@ -36,7 +36,7 @@ pub async fn wire( diary_repo: std::sync::Arc, base_url: String, allow_registration: bool, - event_publisher: std::sync::Arc, + _event_publisher: std::sync::Arc, ) -> anyhow::Result { let review_handler = std::sync::Arc::new(ReviewObjectHandler { movie_repository: std::sync::Arc::clone(&movie_repo), @@ -64,16 +64,16 @@ pub async fn wire( } let concrete = std::sync::Arc::new( - ActivityPubService::new( + ActivityPubService::builder( federation_repo, std::sync::Arc::new(DomainUserRepoAdapter::new(user_repo, base_url.clone())), composite, base_url.clone(), - allow_registration, - "movies-diary".to_string(), - federation_debug, - Some(event_publisher), ) + .allow_registration(allow_registration) + .software_name("movies-diary") + .debug(federation_debug) + .build() .await?, ); diff --git a/crates/adapters/activitypub/src/review_handler.rs b/crates/adapters/activitypub/src/review_handler.rs index 81e0dc7..163c56a 100644 --- a/crates/adapters/activitypub/src/review_handler.rs +++ b/crates/adapters/activitypub/src/review_handler.rs @@ -247,4 +247,20 @@ impl ApObjectHandler for ReviewObjectHandler { .await .map_err(|e| anyhow::anyhow!(e.to_string())) } + + async fn on_like(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_announce_received(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_unlike(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_mention(&self, _thought_ap_id: &Url, _mentioned_user_uuid: uuid::Uuid, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } } diff --git a/crates/adapters/activitypub/src/watchlist_handler.rs b/crates/adapters/activitypub/src/watchlist_handler.rs index c8bfbcb..ea090ae 100644 --- a/crates/adapters/activitypub/src/watchlist_handler.rs +++ b/crates/adapters/activitypub/src/watchlist_handler.rs @@ -79,4 +79,20 @@ impl ApObjectHandler for WatchlistObjectHandler { async fn count_local_posts(&self) -> anyhow::Result { Ok(0) } + + async fn on_like(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_announce_received(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_unlike(&self, _object_url: &Url, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } + + async fn on_mention(&self, _thought_ap_id: &Url, _mentioned_user_uuid: uuid::Uuid, _actor_url: &Url) -> anyhow::Result<()> { + Ok(()) + } }