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, "name" => user.name, "summary" => user.summary, "inbox" => url(~p"/inbox"), "outbox" => url(~p"/outbox"), "publicKey" => %{ "id" => url(~p"/actor#main-key"), "owner" => url(~p"/actor"), "publicKeyPem" => user.public_key }, "icon" => %{ "type" => "Image", "mediaType" => "image/png", "url" => url(~p"/images/avatar.png") } } end end