postland/lib/postland_web/controllers/actor_json.ex
2024-09-25 20:45:10 -05:00

26 lines
690 B
Elixir

defmodule PostlandWeb.ActorJSON do
use Phoenix.VerifiedRoutes, endpoint: PostlandWeb.Endpoint, router: PostlandWeb.Router
alias Postland.Accounts
def render("actor.json", _assigns) do
user = Accounts.solo_user()
%{
"@context" => [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
],
"id" => url(~p"/actor"),
"type" => "Person",
"preferredUsername" => user.username,
"inbox" => url(~p"/inbox"),
"outbox" => url(~p"/outbox"),
"publicKey" => %{
"id" => url(~p"/actor#main-key"),
"owner" => url(~p"/actor"),
"publicKeyPem" => user.public_key
}
}
end
end