diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-01-26 11:23:05 -0600 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-01-26 11:23:05 -0600 |
commit | d770cffce0aec0eeb427c8851437f04329700da9 (patch) | |
tree | 8a6f4db2849e613e0be968d3c0edc605b7040563 /lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex | |
parent | 108a39c8766402dcbd0235d8746e2100a18e5813 (diff) | |
parent | d9e2bd8f40b7d77713a72ef94da2fbe8ffa75b91 (diff) | |
download | pleroma-d770cffce0aec0eeb427c8851437f04329700da9.tar.gz |
Merge branch 'develop' into issue/1280
Diffstat (limited to 'lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex')
-rw-r--r-- | lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex b/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex index 772c535a4..cd1c0764f 100644 --- a/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/pleroma_api_controller.ex @@ -23,7 +23,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIController do plug( OAuthScopesPlug, %{scopes: ["read:statuses"]} - when action in [:conversation, :conversation_statuses, :emoji_reactions_by] + when action in [:conversation, :conversation_statuses] ) plug( @@ -43,21 +43,26 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIController do def emoji_reactions_by(%{assigns: %{user: user}} = conn, %{"id" => activity_id}) do with %Activity{} = activity <- Activity.get_by_id_with_object(activity_id), - %Object{data: %{"reactions" => emoji_reactions}} <- Object.normalize(activity) do + %Object{data: %{"reactions" => emoji_reactions}} when is_list(emoji_reactions) <- + Object.normalize(activity) do reactions = emoji_reactions - |> Enum.map(fn {emoji, users} -> + |> Enum.map(fn [emoji, users] -> users = Enum.map(users, &User.get_cached_by_ap_id/1) - {emoji, AccountView.render("index.json", %{users: users, for: user, as: :user})} + + %{ + emoji: emoji, + count: length(users), + accounts: AccountView.render("index.json", %{users: users, for: user, as: :user}) + } end) - |> Enum.into(%{}) conn |> json(reactions) else _e -> conn - |> json(%{}) + |> json([]) end end |