diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/user.ex | 9 | ||||
| -rw-r--r-- | lib/pleroma/web/masto_fe_controller.ex | 65 | ||||
| -rw-r--r-- | lib/pleroma/web/mastodon_api/controllers/app_controller.ex | 3 | ||||
| -rw-r--r-- | lib/pleroma/web/o_auth/o_auth_controller.ex | 3 | ||||
| -rw-r--r-- | lib/pleroma/web/router.ex | 32 | 
5 files changed, 3 insertions, 109 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 9365fae2b..46bac283c 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -124,7 +124,6 @@ defmodule Pleroma.User do      field(:is_moderator, :boolean, default: false)      field(:is_admin, :boolean, default: false)      field(:show_role, :boolean, default: true) -    field(:mastofe_settings, :map, default: nil)      field(:uri, ObjectValidators.Uri, default: nil)      field(:hide_followers_count, :boolean, default: false)      field(:hide_follows_count, :boolean, default: false) @@ -1717,7 +1716,6 @@ defmodule Pleroma.User do        ap_enabled: false,        is_moderator: false,        is_admin: false, -      mastofe_settings: nil,        mascot: nil,        emoji: %{},        pleroma_settings_store: %{}, @@ -2328,13 +2326,6 @@ defmodule Pleroma.User do      |> update_and_set_cache()    end -  def mastodon_settings_update(user, settings) do -    user -    |> cast(%{mastofe_settings: settings}, [:mastofe_settings]) -    |> validate_required([:mastofe_settings]) -    |> update_and_set_cache() -  end -    @spec confirmation_changeset(User.t(), keyword()) :: Changeset.t()    def confirmation_changeset(user, set_confirmation: confirmed?) do      params = diff --git a/lib/pleroma/web/masto_fe_controller.ex b/lib/pleroma/web/masto_fe_controller.ex deleted file mode 100644 index e788ab37a..000000000 --- a/lib/pleroma/web/masto_fe_controller.ex +++ /dev/null @@ -1,65 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.MastoFEController do -  use Pleroma.Web, :controller - -  alias Pleroma.User -  alias Pleroma.Web.MastodonAPI.AuthController -  alias Pleroma.Web.OAuth.Token -  alias Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug -  alias Pleroma.Web.Plugs.OAuthScopesPlug - -  plug(OAuthScopesPlug, %{scopes: ["write:accounts"]} when action == :put_settings) - -  # Note: :index action handles attempt of unauthenticated access to private instance with redirect -  plug(:skip_plug, EnsurePublicOrAuthenticatedPlug when action == :index) - -  plug( -    OAuthScopesPlug, -    %{scopes: ["read"], fallback: :proceed_unauthenticated} -    when action == :index -  ) - -  plug( -    :skip_plug, -    [OAuthScopesPlug, EnsurePublicOrAuthenticatedPlug] when action == :manifest -  ) - -  @doc "GET /web/*path" -  def index(conn, _params) do -    with %{assigns: %{user: %User{} = user, token: %Token{app_id: token_app_id} = token}} <- conn, -         {:ok, %{id: ^token_app_id}} <- AuthController.local_mastofe_app() do -      conn -      |> put_layout(false) -      |> render("index.html", -        token: token.token, -        user: user, -        custom_emojis: Pleroma.Emoji.get_all() -      ) -    else -      _ -> -        conn -        |> put_session(:return_to, conn.request_path) -        |> redirect(to: "/web/login") -    end -  end - -  @doc "GET /web/manifest.json" -  def manifest(conn, _params) do -    render(conn, "manifest.json") -  end - -  @doc "PUT /api/web/settings: Backend-obscure settings blob for MastoFE, don't parse/reuse elsewhere" -  def put_settings(%{assigns: %{user: user}} = conn, %{"data" => settings} = _params) do -    with {:ok, _} <- User.mastodon_settings_update(user, settings) do -      json(conn, %{}) -    else -      e -> -        conn -        |> put_status(:internal_server_error) -        |> json(%{error: inspect(e)}) -    end -  end -end diff --git a/lib/pleroma/web/mastodon_api/controllers/app_controller.ex b/lib/pleroma/web/mastodon_api/controllers/app_controller.ex index dd3b39c77..2e6924f5d 100644 --- a/lib/pleroma/web/mastodon_api/controllers/app_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/app_controller.ex @@ -27,8 +27,6 @@ defmodule Pleroma.Web.MastodonAPI.AppController do    plug(Pleroma.Web.ApiSpec.CastAndValidate) -  @local_mastodon_name "Mastodon-Local" -    defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.AppOperation    @doc "POST /api/v1/apps" @@ -41,7 +39,6 @@ defmodule Pleroma.Web.MastodonAPI.AppController do        |> Map.put(:scopes, scopes)      with cs <- App.register_changeset(%App{}, app_attrs), -         false <- cs.changes[:client_name] == @local_mastodon_name,           {:ok, app} <- Repo.insert(cs) do        render(conn, "show.json", app: app)      end diff --git a/lib/pleroma/web/o_auth/o_auth_controller.ex b/lib/pleroma/web/o_auth/o_auth_controller.ex index 42f4d768f..73d485497 100644 --- a/lib/pleroma/web/o_auth/o_auth_controller.ex +++ b/lib/pleroma/web/o_auth/o_auth_controller.ex @@ -600,9 +600,12 @@ defmodule Pleroma.Web.OAuth.OAuthController do      end    end +<<<<<<< HEAD +=======    # Special case: Local MastodonFE    defp redirect_uri(%Plug.Conn{} = conn, "."), do: Routes.auth_url(conn, :login) +>>>>>>> 0c56f9de0d607b88fd107e0bd13ef286f0629346    defp redirect_uri(%Plug.Conn{}, redirect_uri), do: redirect_uri    defp get_session_registration_id(%Plug.Conn{} = conn), do: get_session(conn, :registration_id) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index efca7078a..9695667b6 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -100,12 +100,6 @@ defmodule Pleroma.Web.Router do      plug(Pleroma.Web.Plugs.IdempotencyPlug)    end -  pipeline :mastodon_html do -    plug(:browser) -    plug(:authenticate) -    plug(:after_auth) -  end -    pipeline :pleroma_html do      plug(:browser)      plug(:authenticate) @@ -542,13 +536,6 @@ defmodule Pleroma.Web.Router do      get("/timelines/list/:list_id", TimelineController, :list)    end -  scope "/api/web", Pleroma.Web do -    pipe_through(:authenticated_api) - -    # Backend-obscure settings blob for MastoFE, don't parse/reuse elsewhere -    put("/settings", MastoFEController, :put_settings) -  end -    scope "/api/v1", Pleroma.Web.MastodonAPI do      pipe_through(:app_api) @@ -744,25 +731,6 @@ defmodule Pleroma.Web.Router do      get("/:version", Nodeinfo.NodeinfoController, :nodeinfo)    end -  scope "/", Pleroma.Web do -    pipe_through(:api) - -    get("/web/manifest.json", MastoFEController, :manifest) -  end - -  scope "/", Pleroma.Web do -    pipe_through(:mastodon_html) - -    get("/web/login", MastodonAPI.AuthController, :login) -    delete("/auth/sign_out", MastodonAPI.AuthController, :logout) - -    post("/auth/password", MastodonAPI.AuthController, :password_reset) - -    get("/web/*path", MastoFEController, :index) - -    get("/embed/:id", EmbedController, :show) -  end -    scope "/proxy/", Pleroma.Web do      get("/preview/:sig/:url", MediaProxy.MediaProxyController, :preview)      get("/preview/:sig/:url/:filename", MediaProxy.MediaProxyController, :preview) | 
