More refactoring.
authorRoger Braun <roger@rogerbraun.net>
Tue, 25 Apr 2017 15:32:36 +0000 (17:32 +0200)
committerRoger Braun <roger@rogerbraun.net>
Tue, 25 Apr 2017 15:32:36 +0000 (17:32 +0200)
lib/pleroma/web/twitter_api/twitter_api.ex

index ad73e82ce100d9c3c4fa9cd789cbf4fba766589d..ad4bf715313d4f56af1f37ee959d7cb01862a0b6 100644 (file)
@@ -26,21 +26,26 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
     end)
   end
 
+  def get_replied_to_activity(id) when not is_nil(id) do
+    Repo.get(Activity, id)
+  end
+
+  def get_replied_to_activity(_), do: nil
+
   def create_status(user = %User{}, data = %{"status" => status}) do
     attachments = attachments_from_ids(data["media_ids"])
     context = ActivityPub.generate_context_id
     mentions = parse_mentions(status)
     content_html = format_input(status, mentions)
     to = to_for_user_and_mentions(user, mentions)
-
     date = make_date()
 
+    inReplyTo = get_replied_to_activity(data["in_reply_to_status_id"])
+
     # Wire up reply info.
     [to, context, object, additional] =
-      with inReplyToId when not is_nil(inReplyToId) <- data["in_reply_to_status_id"],
-                  inReplyTo <- Repo.get(Activity, inReplyToId),
-                    context <- inReplyTo.data["context"]
-      do
+      if inReplyTo do
+      context = inReplyTo.data["context"]
       to = to ++ [inReplyTo.data["actor"]]
 
       object = %{
@@ -52,7 +57,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
         "attachment" => attachments,
         "actor" => user.ap_id,
         "inReplyTo" => inReplyTo.data["object"]["id"],
-        "inReplyToStatusId" => inReplyToId,
+        "inReplyToStatusId" => inReplyTo.id,
         "statusnetConversationId" => inReplyTo.data["statusnetConversationId"]
       }
       additional = %{
@@ -60,7 +65,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
       }
 
       [to, context, object, additional]
-      else _e ->
+      else
       object = %{
         "type" => "Note",
         "to" => to,