aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2018-12-06 17:42:07 +0300
committerrinpatch <rinpatch@sdf.org>2018-12-06 17:42:07 +0300
commit2ae1128d9f7a89aff6ba7fb3d486a00f76dbc28b (patch)
tree68f4f99772c4130023a89ce4c267fbae0d18b5b3 /lib/pleroma/web
parentccf0b46dd6a0390a06847b4a1c3eedc8d8e6c916 (diff)
downloadpleroma-2ae1128d9f7a89aff6ba7fb3d486a00f76dbc28b.tar.gz
MastoAPI: Fix put_settings
Diffstat (limited to 'lib/pleroma/web')
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index eecfc742b..e8dd9db15 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -970,9 +970,11 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end
def put_settings(%{assigns: %{user: user}} = conn, %{"data" => settings} = _params) do
- with new_info <- Map.put(user.info, "settings", settings),
- change <- User.info_changeset(user, %{info: new_info}),
- {:ok, _user} <- User.update_and_set_cache(change) do
+ info_cng = User.Info.mastodon_settings_update(user.info, settings)
+
+ with changeset <- User.update_changeset(user),
+ changeset <- Ecto.Changeset.put_embed(changeset, :info, info_cng),
+ {:ok, user} <- User.update_and_set_cache(changeset) do
conn
|> json(%{})
else