diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-04-30 13:58:40 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-04-30 13:58:40 +0200 |
commit | 379caca01d818613ba7e013e8f0bebba160c6871 (patch) | |
tree | 4a78c0070ff86815f85a755cd395908467a2a047 | |
parent | 4c8111c3342aa57cf38accf64f0aa06be6958704 (diff) | |
download | pleroma-379caca01d818613ba7e013e8f0bebba160c6871.tar.gz |
Wrap context creation in transaction.
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 17 |
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 |