From da64ea4a5540bf21770de039e27a33b5ef9fb377 Mon Sep 17 00:00:00 2001 From: Ekaterina Vaartis Date: Sun, 2 Sep 2018 00:33:13 +0300 Subject: [PATCH] Implement mastodon mutes endpoint Aparently i forgot to add it, it gets a list of muted users --- lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 9 +++++++++ lib/pleroma/web/router.ex | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index af16264ee..49b49be19 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -780,6 +780,15 @@ def unmute(%{assigns: %{user: muter}} = conn, %{"id" => id}) do end end + # TODO: Use proper query + def mutes(%{assigns: %{user: user}} = conn, _) do + with muted_users <- user.info["mutes"] || [], + accounts <- Enum.map(muted_users, fn ap_id -> User.get_cached_by_ap_id(ap_id) end) do + res = AccountView.render("accounts.json", users: accounts, for: user, as: :user) + json(conn, res) + end + end + def block(%{assigns: %{user: blocker}} = conn, %{"id" => id}) do with %User{} = blocked <- Repo.get(User, id), {:ok, blocker} <- User.block(blocker, blocked), diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index fb7a8d448..1b62d02ea 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -178,7 +178,7 @@ defmodule Pleroma.Web.Router do get("/blocks", MastodonAPIController, :blocks) - get("/mutes", MastodonAPIController, :empty_array) + get("/mutes", MastodonAPIController, :mutes) get("/timelines/home", MastodonAPIController, :home_timeline)