logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/
commit: 1610d39f3645ad664dfde06940ba891082ded752
parent 8f9a139ba17fa99ca472d15023485290db0e8faf
Author: nicole mikołajczyk <git@mkljczk.pl>
Date:   Tue, 21 Oct 2025 21:41:33 +0200

Revert "User.get_or_fetch_public_key_for_ap_id/1 is no longer required."

This reverts commit c0a50b7c3e340cd621827922200daa0f29dc6e15.

Diffstat:

Mlib/pleroma/user.ex9+++++++++
Mtest/pleroma/user_test.exs5+++++
2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex @@ -2307,6 +2307,15 @@ defmodule Pleroma.User do def public_key(_), do: {:error, "key not found"} + def get_or_fetch_public_key_for_ap_id(ap_id) do + with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id), + {:ok, public_key} <- public_key(user) do + {:ok, public_key} + else + _ -> :error + end + end + def get_public_key_for_ap_id(ap_id) do with %User{} = user <- get_cached_by_ap_id(ap_id), {:ok, public_key} <- public_key(user) do diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs @@ -1881,6 +1881,11 @@ defmodule Pleroma.UserTest do end end + test "get_or_fetch_public_key_for_ap_id fetches a user that's not in the db" do + assert {:ok, _key} = + User.get_or_fetch_public_key_for_ap_id("http://mastodon.example.org/users/admin") + end + test "get_public_key_for_ap_id returns correctly for user that's not in the db" do assert :error = User.get_public_key_for_ap_id("http://mastodon.example.org/users/admin") end