diff options
author | kaniini <nenolod@gmail.com> | 2019-05-14 12:06:08 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-05-14 12:06:08 +0000 |
commit | 4e69d1239afdf97fe84a1772faa242b8e362b369 (patch) | |
tree | b37250ceeea947d284cbff32fa5665a3bbdd15f9 /lib/pleroma/web/twitter_api | |
parent | cdcdbd88da76f18c21da7f6f15a29883044902c8 (diff) | |
parent | c1665fd94de456768ddd59b8873d1bd26878970d (diff) | |
download | pleroma-4e69d1239afdf97fe84a1772faa242b8e362b369.tar.gz |
Merge branch 'feature/disable-account' into 'develop'
[#694] allow users to disable their own account
See merge request pleroma/pleroma!895
Diffstat (limited to 'lib/pleroma/web/twitter_api')
-rw-r--r-- | lib/pleroma/web/twitter_api/controllers/util_controller.ex | 11 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 9 |
2 files changed, 17 insertions, 3 deletions
diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index c03f8ab3a..7b7fd912b 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -360,6 +360,17 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do end end + def disable_account(%{assigns: %{user: user}} = conn, params) do + case CommonAPI.Utils.confirm_current_password(user, params["password"]) do + {:ok, user} -> + User.deactivate_async(user) + json(conn, %{status: "success"}) + + {:error, msg} -> + json(conn, %{error: msg}) + end + end + def captcha(conn, _params) do json(conn, Pleroma.Captcha.new()) end diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 1362ef57c..41e1c2877 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -236,12 +236,15 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do def get_user(user \\ nil, params) do case params do %{"user_id" => user_id} -> - case target = User.get_cached_by_nickname_or_id(user_id) do + case User.get_cached_by_nickname_or_id(user_id) do nil -> {:error, "No user with such user_id"} - _ -> - {:ok, target} + %User{info: %{deactivated: true}} -> + {:error, "User has been disabled"} + + user -> + {:ok, user} end %{"screen_name" => nickname} -> |