diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-09-14 09:50:49 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-09-14 09:50:49 +0200 |
commit | b0363e80556b4c8271ab69d2680166ca844f660c (patch) | |
tree | be23bfa806a61d03caf819856d099e2a934dff42 /lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | |
parent | ac3f32da7e1bb12b18394cc8dd358be8423e6204 (diff) | |
download | pleroma-b0363e80556b4c8271ab69d2680166ca844f660c.tar.gz |
MastoAPI: Add favourited_by/reblogged_by.
Diffstat (limited to 'lib/pleroma/web/mastodon_api/mastodon_api_controller.ex')
-rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index b537bcf71..0f7674f5d 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -208,6 +208,28 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do end end + def favourited_by(conn, %{"id" => id}) do + with %Activity{data: %{"object" => %{"likes" => likes} = data}} <- Repo.get(Activity, id) do + q = from u in User, + where: u.ap_id in ^likes + users = Repo.all(q) + render conn, AccountView, "accounts.json", %{users: users, as: :user} + else + _ -> json(conn, []) + end + end + + def reblogged_by(conn, %{"id" => id}) do + with %Activity{data: %{"object" => %{"announcements" => announces}}} <- Repo.get(Activity, id) do + q = from u in User, + where: u.ap_id in ^announces + users = Repo.all(q) + render conn, AccountView, "accounts.json", %{users: users, as: :user} + else + _ -> json(conn, []) + end + end + def empty_array(conn, _) do Logger.debug("Unimplemented, returning an empty array") json(conn, []) |