aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-06-20 11:49:41 +0200
committerRoger Braun <roger@rogerbraun.net>2017-06-20 11:49:41 +0200
commit1e6491ec96c3eb4e7ce1ca76b521b892206fac03 (patch)
treec0f2fb074ce9ff4196e0669903e7a27085f83277 /lib
parent069daf644d984c479eae6483595a3307e923950b (diff)
parentaf49c11193d7e78159b5a45fa798cce1565cece7 (diff)
downloadpleroma-1e6491ec96c3eb4e7ce1ca76b521b892206fac03.tar.gz
Merge branch 'develop' into refactor/user-view
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/object.ex2
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api.ex12
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex
index 72991fa1f..5b51d6be3 100644
--- a/lib/pleroma/object.ex
+++ b/lib/pleroma/object.ex
@@ -43,6 +43,6 @@ defmodule Pleroma.Object do
end
def context_mapping(context) do
- %Object{data: %{"id" => context}}
+ Object.change(%Object{}, %{data: %{"id" => context}})
end
end
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex
index e31a2cc76..b5b59eb4b 100644
--- a/lib/pleroma/web/twitter_api/twitter_api.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api.ex
@@ -282,10 +282,14 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
def context_to_conversation_id(context) do
with %Object{id: id} <- Object.get_cached_by_ap_id(context) do
id
- else _e ->
- changeset = Object.context_mapping(context)
- {:ok, %{id: id}} = Repo.insert(changeset)
- id
+ else _e ->
+ changeset = Object.context_mapping(context)
+ case Repo.insert(changeset) do
+ {:ok, %{id: id}} -> id
+ # This should be solved by an upsert, but it seems ecto
+ # has problems accessing the constraint inside the jsonb.
+ {:error, _} -> Object.get_cached_by_ap_id(context).id
+ end
end
end