Implement mastodon mutes endpoint
authorEkaterina Vaartis <vaartis@cock.li>
Sat, 1 Sep 2018 21:33:13 +0000 (00:33 +0300)
committerEkaterina Vaartis <vaartis@cock.li>
Tue, 19 Feb 2019 18:49:55 +0000 (21:49 +0300)
Aparently i forgot to add it, it gets a list of muted users

lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
lib/pleroma/web/router.ex

index af16264eeb996883cbc02db3169b6fc9290e60d3..49b49be19fc68b201fd79ed78cf167b8346db2f1 100644 (file)
@@ -780,6 +780,15 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController 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),
index fb7a8d4489bc24b79e52e4022ac2cc3b63ec8f35..1b62d02ea334b8c8b3e118f6a85e09f07d473b98 100644 (file)
@@ -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)