From d7e846370ae6569ca041c96c60b4a333eef880fb Mon Sep 17 00:00:00 2001 From: alemi Date: Tue, 26 Mar 2024 00:49:56 +0100 Subject: [PATCH] feat: show public key of user --- src/activitypub/user/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/activitypub/user/mod.rs b/src/activitypub/user/mod.rs index 01fb208..d63b685 100644 --- a/src/activitypub/user/mod.rs +++ b/src/activitypub/user/mod.rs @@ -8,7 +8,7 @@ pub use following::follow___; use axum::{extract::{Path, State}, http::StatusCode}; use sea_orm::EntityTrait; -use crate::{activitystream::{object::{actor::ActorMut, collection::{CollectionMut, CollectionType}, document::{DocumentMut, DocumentType}, ObjectMut}, BaseMut, Node}, model::{self, user}, server::Context, url}; +use crate::{activitystream::{key::PublicKeyMut, object::{actor::ActorMut, collection::{CollectionMut, CollectionType}, document::{DocumentMut, DocumentType}, ObjectMut}, BaseMut, Node}, model::{self, user}, server::Context, url}; use super::{jsonld::LD, JsonLD}; @@ -44,7 +44,12 @@ pub fn ap_user(user: model::user::Model) -> serde_json::Value { .set_collection_type(Some(CollectionType::OrderedCollection)) .set_total_items(Some(user.followers_count as u64)) )) - // .set_public_key(user.public_key) // TODO + .set_public_key(Node::object( + serde_json::Value::new_object() + .set_id(Some(&format!("{}#main-key", user.id))) + .set_owner(Some(&user.id)) + .set_public_key_pem(&user.public_key) + )) .set_discoverable(Some(true)) .set_endpoints(None) }