aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-05-27 10:03:53 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-06-11 22:15:53 +0000
commita2c4a5a75bc22653553fdf2f3ec25e2c9dd7c66a (patch)
treed999910b3ba2d6af6d6641827a49bf829ffd938b /lib
parentad7188fe920c5eaa21c38b5f7781a7ba22173b91 (diff)
downloadpleroma-a2c4a5a75bc22653553fdf2f3ec25e2c9dd7c66a.tar.gz
mastodon api: allow setting an account locked or not
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex14
1 files changed, 14 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 cae81c43d..caff4ad86 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -72,6 +72,20 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
user
end
+ user =
+ if locked = params["locked"] do
+ with locked <- locked == "true",
+ new_info <- Map.put(user.info, "locked", locked),
+ change <- User.info_changeset(user, %{info: new_info}),
+ {:ok, user} <- User.update_and_set_cache(change) do
+ user
+ else
+ _e -> user
+ end
+ else
+ user
+ end
+
with changeset <- User.update_changeset(user, params),
{:ok, user} <- User.update_and_set_cache(changeset) do
if original_user != user do