From 0e45707d7e174bb589dbf05cdd571308fd3dd390 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Thu, 14 May 2026 19:57:13 +0200 Subject: [PATCH] fix(postgres): persist and read avatar_url in remote_actor adapter --- crates/adapters/postgres/src/remote_actor.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/crates/adapters/postgres/src/remote_actor.rs b/crates/adapters/postgres/src/remote_actor.rs index 1e9425f..36fddf3 100644 --- a/crates/adapters/postgres/src/remote_actor.rs +++ b/crates/adapters/postgres/src/remote_actor.rs @@ -18,14 +18,14 @@ 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,last_fetched_at) - VALUES($1,$2,$3,$4,$5,$6,$7) + "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) 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,last_fetched_at=EXCLUDED.last_fetched_at" + public_key=EXCLUDED.public_key,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.last_fetched_at) + .bind(&a.shared_inbox_url).bind(&a.public_key).bind(&a.avatar_url).bind(a.last_fetched_at) .execute(&self.pool).await.map_err(|e| DomainError::Internal(e.to_string())).map(|_| ()) } @@ -38,12 +38,13 @@ impl RemoteActorRepository for PgRemoteActorRepository { 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,last_fetched_at FROM remote_actors WHERE url=$1" + "SELECT url,handle,display_name,inbox_url,shared_inbox_url,public_key,avatar_url,last_fetched_at FROM remote_actors WHERE url=$1" ).bind(url).fetch_optional(&self.pool).await .map_err(|e| DomainError::Internal(e.to_string())) - .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: None, last_fetched_at: r.last_fetched_at })) + .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 })) } }