diff --git a/crates/adapters/activitypub-base/src/service.rs b/crates/adapters/activitypub-base/src/service.rs index 4ca9d58..44d54a1 100644 --- a/crates/adapters/activitypub-base/src/service.rs +++ b/crates/adapters/activitypub-base/src/service.rs @@ -1302,11 +1302,8 @@ impl ActivityPubService { url: a.url, handle: a.handle, display_name: a.display_name, - inbox_url: a.inbox_url, - shared_inbox_url: a.shared_inbox_url, avatar_url: a.avatar_url, outbox_url: a.outbox_url, - public_key: String::new(), last_fetched_at: chrono::Utc::now(), bio: None, banner_url: None, @@ -1684,9 +1681,6 @@ impl domain::ports::FederationLookupPort for ActivityPubService { url: actor.ap_id.to_string(), handle: full_handle, display_name: Some(actor.username.clone()), - inbox_url: actor.inbox_url.to_string(), - shared_inbox_url: actor.shared_inbox_url.as_ref().map(|u| u.to_string()), - public_key: actor.public_key_pem.clone(), avatar_url: actor.avatar_url.as_ref().map(|u| u.to_string()), last_fetched_at: actor.last_refreshed_at, bio: actor.bio.clone(), diff --git a/crates/adapters/postgres/src/remote_actor.rs b/crates/adapters/postgres/src/remote_actor.rs index 47f925d..6f4aecf 100644 --- a/crates/adapters/postgres/src/remote_actor.rs +++ b/crates/adapters/postgres/src/remote_actor.rs @@ -19,14 +19,12 @@ impl PgRemoteActorRepository { impl RemoteActorRepository for PgRemoteActorRepository { async fn upsert(&self, a: &RemoteActor) -> Result<(), DomainError> { sqlx::query( - "INSERT INTO remote_actors(url,handle,display_name,inbox_url,shared_inbox_url,public_key,avatar_url,last_fetched_at) - VALUES($1,$2,$3,$4,$5,$6,$7,$8) + "INSERT INTO remote_actors(url,handle,display_name,avatar_url,last_fetched_at) + VALUES($1,$2,$3,$4,$5) ON CONFLICT(url) DO UPDATE SET handle=EXCLUDED.handle,display_name=EXCLUDED.display_name, - inbox_url=EXCLUDED.inbox_url,shared_inbox_url=EXCLUDED.shared_inbox_url, - public_key=EXCLUDED.public_key,avatar_url=EXCLUDED.avatar_url,last_fetched_at=EXCLUDED.last_fetched_at" + avatar_url=EXCLUDED.avatar_url,last_fetched_at=EXCLUDED.last_fetched_at" ) - .bind(&a.url).bind(&a.handle).bind(&a.display_name).bind(&a.inbox_url) - .bind(&a.shared_inbox_url).bind(&a.public_key).bind(&a.avatar_url).bind(a.last_fetched_at) + .bind(&a.url).bind(&a.handle).bind(&a.display_name).bind(&a.avatar_url).bind(a.last_fetched_at) .execute(&self.pool).await.into_domain().map(|_| ()) } @@ -36,16 +34,26 @@ impl RemoteActorRepository for PgRemoteActorRepository { url: String, handle: String, display_name: Option, - inbox_url: String, - shared_inbox_url: Option, - public_key: String, avatar_url: Option, last_fetched_at: DateTime, } sqlx::query_as::<_, Row>( - "SELECT url,handle,display_name,inbox_url,shared_inbox_url,public_key,avatar_url,last_fetched_at FROM remote_actors WHERE url=$1" + "SELECT url,handle,display_name,avatar_url,last_fetched_at FROM remote_actors WHERE url=$1" ).bind(url).fetch_optional(&self.pool).await .into_domain() - .map(|o| o.map(|r| RemoteActor { url: r.url, handle: r.handle, display_name: r.display_name, inbox_url: r.inbox_url, shared_inbox_url: r.shared_inbox_url, public_key: r.public_key, avatar_url: r.avatar_url, last_fetched_at: r.last_fetched_at, bio: None, banner_url: None, also_known_as: None, outbox_url: None, followers_url: None, following_url: None, attachment: vec![] })) + .map(|o| o.map(|r| RemoteActor { + url: r.url, + handle: r.handle, + display_name: r.display_name, + avatar_url: r.avatar_url, + last_fetched_at: r.last_fetched_at, + bio: None, + banner_url: None, + also_known_as: None, + outbox_url: None, + followers_url: None, + following_url: None, + attachment: vec![], + })) } } diff --git a/crates/domain/src/models/remote_actor.rs b/crates/domain/src/models/remote_actor.rs index e9b9687..97ab795 100644 --- a/crates/domain/src/models/remote_actor.rs +++ b/crates/domain/src/models/remote_actor.rs @@ -5,11 +5,7 @@ pub struct RemoteActor { pub url: String, pub handle: String, pub display_name: Option, - pub inbox_url: String, - pub shared_inbox_url: Option, - pub public_key: String, pub avatar_url: Option, - pub last_fetched_at: DateTime, pub bio: Option, pub banner_url: Option, pub also_known_as: Option, @@ -17,4 +13,5 @@ pub struct RemoteActor { pub followers_url: Option, pub following_url: Option, pub attachment: Vec<(String, String)>, + pub last_fetched_at: DateTime, }