diff --git a/changelog.d/remove-dead-pleroma-api-controllers.skip b/changelog.d/remove-dead-pleroma-api-controllers.skip new file mode 100644 index 000000000..e69de29bb diff --git a/lib/pleroma/web/pleroma_api/controllers/password_controller.ex b/lib/pleroma/web/pleroma_api/controllers/password_controller.ex deleted file mode 100644 index 444477245..000000000 --- a/lib/pleroma/web/pleroma_api/controllers/password_controller.ex +++ /dev/null @@ -1,52 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2022 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.PleromaAPI.PasswordController do - @moduledoc """ - The module contains functions for password reset. - """ - - use Pleroma.Web, :controller - - require Logger - - import Pleroma.Web.ControllerHelper, only: [json_response: 3] - - alias Pleroma.PasswordResetToken - alias Pleroma.Repo - alias Pleroma.User - alias Pleroma.Web.Registration - - plug(Pleroma.Web.Plugs.RateLimiter, [name: :request] when action == :request) - - @doc "POST /auth/password" - def request(conn, params) do - nickname_or_email = params["email"] || params["nickname"] - - Registration.password_reset(nickname_or_email) - - json_response(conn, :no_content, "") - end - - def reset(conn, %{"token" => token}) do - with %{used: false} = token <- Repo.get_by(PasswordResetToken, %{token: token}), - false <- PasswordResetToken.expired?(token), - %User{} = user <- User.get_cached_by_id(token.user_id) do - render(conn, "reset.html", %{ - token: token, - user: user - }) - else - _e -> render(conn, "invalid_token.html") - end - end - - def do_reset(conn, %{"data" => data}) do - with {:ok, _} <- PasswordResetToken.reset_password(data["token"], data) do - render(conn, "reset_success.html") - else - _e -> render(conn, "reset_failed.html") - end - end -end diff --git a/lib/pleroma/web/pleroma_api/controllers/token_controller.ex b/lib/pleroma/web/pleroma_api/controllers/token_controller.ex deleted file mode 100644 index 10eeb907e..000000000 --- a/lib/pleroma/web/pleroma_api/controllers/token_controller.ex +++ /dev/null @@ -1,59 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2022 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.PleromaAPI.TokenController do - use Pleroma.Web, :controller - - alias Pleroma.User - alias Pleroma.Web.OAuth.Token - alias Pleroma.Web.PleromaAPI.TokenView - alias Pleroma.Web.Plugs.OAuthScopesPlug - - require Logger - - plug(:skip_auth when action == :confirm_email) - plug(:skip_plug, OAuthScopesPlug when action in [:oauth_tokens, :revoke_token]) - - action_fallback(:errors) - - def confirm_email(conn, %{"user_id" => uid, "token" => token}) do - with %User{} = user <- User.get_cached_by_id(uid), - true <- user.local and !user.is_confirmed and user.confirmation_token == token, - {:ok, _} <- User.confirm(user) do - redirect(conn, to: "/") - end - end - - def oauth_tokens(%{assigns: %{user: user}} = conn, _params) do - with oauth_tokens <- Token.get_user_tokens(user) do - conn - |> put_view(TokenView) - |> render("index.json", %{tokens: oauth_tokens}) - end - end - - def revoke_token(%{assigns: %{user: user}} = conn, %{"id" => id} = _params) do - Token.delete_user_token(user, id) - - json_reply(conn, 201, "") - end - - defp errors(conn, {:param_cast, _}) do - conn - |> put_status(400) - |> json("Invalid parameters") - end - - defp errors(conn, _) do - conn - |> put_status(500) - |> json("Something went wrong") - end - - defp json_reply(conn, status, json) do - conn - |> put_resp_content_type("application/json") - |> send_resp(status, json) - end -end