Put objects in inserted activties into the db.
[akkoma] / lib / pleroma / web / activity_pub / activity_pub.ex
index f7ba1bb37e50959b09b20e42f92934ebfd96353e..b01def6939937e59d6ff96747e2943f4631bb3fe 100644 (file)
@@ -8,6 +8,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
 
     map = if map["object"] do
       object = Map.put_new_lazy(map["object"], "id", &generate_object_id/0)
+      Repo.insert!(%Object{data: object})
       Map.put(map, "object", object)
     else
       map
@@ -29,13 +30,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
   end
 
   def generate_id(type) do
-    host =
-      Application.get_env(:pleroma, Pleroma.Web.Endpoint)
-      |> Keyword.fetch!(:url)
-      |> Keyword.fetch!(:host)
-
-    protocol = Application.get_env(:pleroma, Pleroma.Web.Endpoint) |> Keyword.fetch!(:protocol)
-    "#{protocol}://#{host}/#{type}/#{Ecto.UUID.generate}"
+    "#{Pleroma.Web.base_url()}/#{type}/#{Ecto.UUID.generate}"
   end
 
   def fetch_public_activities(opts \\ %{}) do