diff options
author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-02-19 19:10:55 +0300 |
---|---|---|
committer | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-02-19 19:10:55 +0300 |
commit | c0ecbf6669948740a091bdf5b5441fb6ee55f4fc (patch) | |
tree | 9ad9fadc6855b1529df7ce8403683c32f776265b /lib/pleroma/web/common_api/utils.ex | |
parent | d3fe2c8ec6116fbc3058f7a795ef59564bddfb08 (diff) | |
parent | 1dd718e83c76db218f12a98344b568fe10ecbefe (diff) | |
download | pleroma-c0ecbf6669948740a091bdf5b5441fb6ee55f4fc.tar.gz |
[#468] Merged `upstream/develop`.
Diffstat (limited to 'lib/pleroma/web/common_api/utils.ex')
-rw-r--r-- | lib/pleroma/web/common_api/utils.ex | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 123107b56..abdeee947 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -35,12 +35,28 @@ defmodule Pleroma.Web.CommonAPI.Utils do def get_replied_to_activity(_), do: nil - def attachments_from_ids(ids) do + def attachments_from_ids(data) do + if Map.has_key?(data, "descriptions") do + attachments_from_ids_descs(data["media_ids"], data["descriptions"]) + else + attachments_from_ids_no_descs(data["media_ids"]) + end + end + + def attachments_from_ids_no_descs(ids) do Enum.map(ids || [], fn media_id -> Repo.get(Object, media_id).data end) end + def attachments_from_ids_descs(ids, descs_str) do + {_, descs} = Jason.decode(descs_str) + + Enum.map(ids || [], fn media_id -> + Map.put(Repo.get(Object, media_id).data, "name", descs[media_id]) + end) + end + def to_for_user_and_mentions(user, mentions, inReplyTo, "public") do mentioned_users = Enum.map(mentions, fn {_, %{ap_id: ap_id}} -> ap_id end) |