aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-04-30 13:58:40 +0200
committerRoger Braun <roger@rogerbraun.net>2017-04-30 13:58:40 +0200
commit379caca01d818613ba7e013e8f0bebba160c6871 (patch)
tree4a78c0070ff86815f85a755cd395908467a2a047
parent4c8111c3342aa57cf38accf64f0aa06be6958704 (diff)
downloadpleroma-379caca01d818613ba7e013e8f0bebba160c6871.tar.gz
Wrap context creation in transaction.
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api.ex17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex
index b2fb72a81..13dc3bd49 100644
--- a/lib/pleroma/web/twitter_api/twitter_api.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api.ex
@@ -319,13 +319,16 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
end
def context_to_conversation_id(context) do
- with %Object{id: id} <- Object.get_by_ap_id(context) do
- id
- else _e ->
- changeset = Object.context_mapping(context)
- {:ok, %{id: id}} = Repo.insert(changeset)
- id
- end
+ {:ok, id} = Repo.transaction(fn ->
+ with %Object{id: id} <- Object.get_by_ap_id(context) do
+ id
+ else _e ->
+ changeset = Object.context_mapping(context)
+ {:ok, %{id: id}} = Repo.insert(changeset)
+ id
+ end
+ end)
+ id
end
def conversation_id_to_context(id) do