aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/object.ex7
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex1
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex
index a31f40d07..f932034d7 100644
--- a/lib/pleroma/object.ex
+++ b/lib/pleroma/object.ex
@@ -1,9 +1,16 @@
defmodule Pleroma.Object do
use Ecto.Schema
+ alias Pleroma.{Repo, Object}
+ import Ecto.Query
schema "objects" do
field :data, :map
timestamps()
end
+
+ def get_by_ap_id(ap_id) do
+ Repo.one(from object in Object,
+ where: fragment("? @> ?", object.data, ^%{id: ap_id}))
+ end
end
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 6c8250de8..b01def693 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -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