26 lines
690 B
Elixir
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
|