aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/object.ex
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-05-07 19:28:23 +0200
committerRoger Braun <roger@rogerbraun.net>2017-05-07 19:28:23 +0200
commitb403ea4d2b69cef4434ad68babdfb402d8227847 (patch)
treed07607b3387c89f4310881132a9e10a5389a5439 /lib/pleroma/object.ex
parenta9b2ad17596d1b6deca646239a95e94dc644ebf3 (diff)
parent60b4b0d725aefdca3eedd2d7708b0c96ee60c5f4 (diff)
downloadpleroma-b403ea4d2b69cef4434ad68babdfb402d8227847.tar.gz
Merge branch 'develop' into dtluna/pleroma-feature/unfollow-activity
Diffstat (limited to 'lib/pleroma/object.ex')
-rw-r--r--lib/pleroma/object.ex20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex
index f932034d7..949ccb0f6 100644
--- a/lib/pleroma/object.ex
+++ b/lib/pleroma/object.ex
@@ -13,4 +13,24 @@ defmodule Pleroma.Object do
Repo.one(from object in Object,
where: fragment("? @> ?", object.data, ^%{id: ap_id}))
end
+
+ def get_cached_by_ap_id(ap_id) do
+ if Mix.env == :test do
+ get_by_ap_id(ap_id)
+ else
+ key = "object:#{ap_id}"
+ Cachex.get!(:user_cache, key, fallback: fn(_) ->
+ object = get_by_ap_id(ap_id)
+ if object do
+ {:commit, object}
+ else
+ {:ignore, object}
+ end
+ end)
+ end
+ end
+
+ def context_mapping(context) do
+ %Object{data: %{"id" => context}}
+ end
end