diff options
Diffstat (limited to 'lib/pleroma/web/twitter_api')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 9b1c74a3f..335cb3e7c 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -6,6 +6,8 @@ defmodule Pleroma.Web.TwitterAPI.Controller do alias Pleroma.Web.ActivityPub.ActivityPub alias Ecto.Changeset + require Logger + def verify_credentials(%{assigns: %{user: user}} = conn, _params) do render(conn, UserView, "show.json", %{user: user}) end @@ -226,6 +228,21 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end end + def update_profile(%{assigns: %{user: user}} = conn, params) do + if bio = params["description"] do + params = Map.put(params, "bio", bio) + end + + with changeset <- User.update_changeset(user, params), + {:ok, user} <- Repo.update(changeset) do + render(conn, UserView, "user.json", %{user: user, for: user}) + else + error -> + Logger.debug("Can't update user: #{inspect(error)}") + bad_request_reply(conn, "Can't update user") + end + end + defp bad_request_reply(conn, error_message) do json = error_json(conn, error_message) json_reply(conn, 400, json) |