feat: signed actor lookup and display_name on DbActor

Add display_name field to DbActor, populated from AP Person.name in
from_json. Expose LookedUpActor type and lookup_actor_by_handle method
on ActivityPubService — uses the existing signed webfinger_https path
so strict instances (Threads, etc.) return full actor data.
This commit is contained in:
2026-05-27 22:21:58 +02:00
parent 7901b29f7c
commit bc857b2c08
5 changed files with 51 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ use crate::user::ApProfileField;
pub struct DbActor {
pub user_id: uuid::Uuid,
pub username: String,
pub display_name: Option<String>,
pub public_key_pem: String,
pub private_key_pem: Option<String>,
pub inbox_url: Url,
@@ -152,6 +153,7 @@ pub async fn get_local_actor(
Ok(DbActor {
user_id,
username: user.username,
display_name: None,
public_key_pem: public_key,
private_key_pem: Some(private_key),
inbox_url,
@@ -219,6 +221,7 @@ impl Object for DbActor {
Ok(Some(DbActor {
user_id,
username: user.username,
display_name: None,
public_key_pem: public_key,
private_key_pem: private_key,
inbox_url,
@@ -327,6 +330,7 @@ impl Object for DbActor {
Ok(DbActor {
user_id,
username: json.preferred_username.clone(),
display_name: json.name.clone(),
public_key_pem: json.public_key.public_key_pem,
private_key_pem: None,
inbox_url,