aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKaren Konou <konoukaren@gmail.com>2019-03-15 14:06:58 +0100
committerKaren Konou <konoukaren@gmail.com>2019-03-15 14:20:08 +0100
commitda53c079db91ce5d7ba14809f5e99b10d3ae307a (patch)
treeea630d9626675911e63f2f8a0f0834bb685505c3 /lib
parentbe465c762be19eda6725d4f323798caa23241715 (diff)
downloadpleroma-da53c079db91ce5d7ba14809f5e99b10d3ae307a.tar.gz
Refactor to store user ap_id, add tests
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex2
-rw-r--r--lib/pleroma/user/info.ex8
-rw-r--r--lib/pleroma/web/common_api/common_api.ex16
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex11
-rw-r--r--lib/pleroma/web/streamer.ex2
5 files changed, 22 insertions, 17 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 467cb910b..692ae836c 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1387,6 +1387,6 @@ defmodule Pleroma.User do
end
def showing_reblogs?(%User{} = user, %User{} = target) do
- target.id not in user.info.muted_reblogs
+ target.ap_id not in user.info.muted_reblogs
end
end
diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex
index 35586e212..70b72710b 100644
--- a/lib/pleroma/user/info.ex
+++ b/lib/pleroma/user/info.ex
@@ -261,14 +261,14 @@ defmodule Pleroma.User.Info do
}
end
- def add_reblog_mute(info, id) do
- params = %{muted_reblogs: info.muted_reblogs ++ [id]}
+ def add_reblog_mute(info, ap_id) do
+ params = %{muted_reblogs: info.muted_reblogs ++ [ap_id]}
cast(info, params, [:muted_reblogs])
end
- def remove_reblog_mute(info, id) do
- params = %{muted_reblogs: List.delete(info.muted_reblogs, id)}
+ def remove_reblog_mute(info, ap_id) do
+ params = %{muted_reblogs: List.delete(info.muted_reblogs, ap_id)}
cast(info, params, [:muted_reblogs])
end
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex
index 035c59387..84d66efc9 100644
--- a/lib/pleroma/web/common_api/common_api.ex
+++ b/lib/pleroma/web/common_api/common_api.ex
@@ -300,17 +300,21 @@ defmodule Pleroma.Web.CommonAPI do
end
end
- def hide_reblogs(user, id) do
- if id not in user.info.muted_reblogs do
- info_changeset = User.Info.add_reblog_mute(user.info, id)
+ def hide_reblogs(user, muted) do
+ ap_id = muted.ap_id
+
+ if ap_id not in user.info.muted_reblogs do
+ info_changeset = User.Info.add_reblog_mute(user.info, ap_id)
changeset = Ecto.Changeset.change(user) |> Ecto.Changeset.put_embed(:info, info_changeset)
User.update_and_set_cache(changeset)
end
end
- def show_reblogs(user, id) do
- if id in user.info.muted_reblogs do
- info_changeset = User.Info.remove_reblog_mute(user.info, id)
+ def show_reblogs(user, muted) do
+ ap_id = muted.ap_id
+
+ if ap_id in user.info.muted_reblogs do
+ info_changeset = User.Info.remove_reblog_mute(user.info, ap_id)
changeset = Ecto.Changeset.change(user) |> Ecto.Changeset.put_embed(:info, info_changeset)
User.update_and_set_cache(changeset)
end
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index 68b7d8b49..952aa2453 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -730,13 +730,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> render("relationship.json", %{user: follower, target: followed})
else
true ->
- case conn.params["reblogs"] do
- true -> CommonAPI.show_reblogs(follower, id)
- false -> CommonAPI.hide_reblogs(follower, id)
- end
-
followed = User.get_cached_by_id(id)
+ {:ok, follower} =
+ case conn.params["reblogs"] do
+ true -> CommonAPI.show_reblogs(follower, followed)
+ false -> CommonAPI.hide_reblogs(follower, followed)
+ end
+
conn
|> put_view(AccountView)
|> render("relationship.json", %{user: follower, target: followed})
diff --git a/lib/pleroma/web/streamer.ex b/lib/pleroma/web/streamer.ex
index fa0fb2ac8..a0863a062 100644
--- a/lib/pleroma/web/streamer.ex
+++ b/lib/pleroma/web/streamer.ex
@@ -200,7 +200,7 @@ defmodule Pleroma.Web.Streamer do
user = User.get_cached_by_ap_id(socket.assigns[:user].ap_id)
blocks = user.info.blocks || []
mutes = user.info.mutes || []
- reblog_mutes = user.info.reblog_mutes || []
+ reblog_mutes = user.info.muted_reblogs || []
parent = Object.normalize(item.data["object"])