User: generate private keys on user creation
[akkoma] / lib / pleroma / web / activity_pub / views / user_view.ex
index 462f3b4a79981993db74d2e6b6355631a51e1edd..310f3ce3e345a80afc0b4e8effe959c4f84ecebd 100644 (file)
@@ -34,7 +34,6 @@ defmodule Pleroma.Web.ActivityPub.UserView do
   def render("endpoints.json", _), do: %{}
 
   def render("service.json", %{user: user}) do
-    {:ok, user} = User.ensure_keys_present(user)
     {:ok, _, public_key} = Keys.keys_from_pem(user.keys)
     public_key = :public_key.pem_entry_encode(:SubjectPublicKeyInfo, public_key)
     public_key = :public_key.pem_encode([public_key])
@@ -71,7 +70,6 @@ defmodule Pleroma.Web.ActivityPub.UserView do
     do: render("service.json", %{user: user}) |> Map.put("preferredUsername", user.nickname)
 
   def render("user.json", %{user: user}) do
-    {:ok, user} = User.ensure_keys_present(user)
     {:ok, _, public_key} = Keys.keys_from_pem(user.keys)
     public_key = :public_key.pem_entry_encode(:SubjectPublicKeyInfo, public_key)
     public_key = :public_key.pem_encode([public_key])
@@ -83,14 +81,7 @@ defmodule Pleroma.Web.ActivityPub.UserView do
 
     fields = Enum.map(user.fields, &Map.put(&1, "type", "PropertyValue"))
 
-    capabilities =
-      if is_boolean(user.accepts_chat_messages) do
-        %{
-          "acceptsChatMessages" => user.accepts_chat_messages
-        }
-      else
-        %{}
-      end
+    capabilities = %{}
 
     %{
       "id" => user.ap_id,
@@ -261,7 +252,8 @@ defmodule Pleroma.Web.ActivityPub.UserView do
     %{
       "id" => featured_address,
       "type" => "OrderedCollection",
-      "orderedItems" => objects
+      "orderedItems" => objects,
+      "totalItems" => length(objects)
     }
     |> Map.merge(Utils.make_json_ld_header())
   end