Skip to content
Snippets Groups Projects
Commit 3cc2554f authored by kaniini's avatar kaniini
Browse files

mastodon api: add conversation_id extension (ref #674)

parent fea36967
No related branches found
No related tags found
No related merge requests found
......@@ -46,6 +46,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
end
end
defp get_context_id(%{data: %{"context_id" => context_id}}) when not is_nil(context_id),
do: context_id
defp get_context_id(%{data: %{"context" => context}}) when is_binary(context),
do: Utils.context_to_conversation_id(context)
defp get_context_id(_), do: nil
def render("index.json", opts) do
replied_to_activities = get_replied_to_activities(opts.activities)
......@@ -186,7 +194,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
language: nil,
emojis: build_emojis(activity.data["object"]["emoji"]),
pleroma: %{
local: activity.local
local: activity.local,
conversation_id: get_context_id(activity)
}
}
end
......
......@@ -9,6 +9,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
alias Pleroma.User
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.MastodonAPI.AccountView
alias Pleroma.Web.MastodonAPI.StatusView
alias Pleroma.Web.OStatus
......@@ -72,6 +73,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
note = insert(:note_activity)
user = User.get_cached_by_ap_id(note.data["actor"])
convo_id = Utils.context_to_conversation_id(note.data["object"]["context"])
status = StatusView.render("status.json", %{activity: note})
created_at =
......@@ -122,7 +125,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
}
],
pleroma: %{
local: true
local: true,
conversation_id: convo_id
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment