Fix more build errors
authorSean King <seanking2919@protonmail.com>
Fri, 4 Jun 2021 21:06:55 +0000 (15:06 -0600)
committerSean King <seanking2919@protonmail.com>
Fri, 4 Jun 2021 21:06:55 +0000 (15:06 -0600)
lib/pleroma/web/mastodon_api/controllers/auth_controller.ex
lib/pleroma/web/templates/masto_fe/index.html.eex [deleted file]
lib/pleroma/web/views/masto_fe_view.ex [deleted file]

index 4920d65dae3b1bb5bbd53c09a7b4434a963d0e44..08943f6f170d59f052af55b73a9c0f69afabc497 100644 (file)
@@ -7,77 +7,12 @@ defmodule Pleroma.Web.MastodonAPI.AuthController do
 
   import Pleroma.Web.ControllerHelper, only: [json_response: 3]
 
-  alias Pleroma.Helpers.AuthHelper
-  alias Pleroma.Helpers.UriHelper
-  alias Pleroma.User
-  alias Pleroma.Web.OAuth.App
-  alias Pleroma.Web.OAuth.Authorization
-  alias Pleroma.Web.OAuth.Token
-  alias Pleroma.Web.OAuth.Token.Strategy.Revoke, as: RevokeToken
   alias Pleroma.Web.TwitterAPI.TwitterAPI
 
   action_fallback(Pleroma.Web.MastodonAPI.FallbackController)
 
   plug(Pleroma.Web.Plugs.RateLimiter, [name: :password_reset] when action == :password_reset)
 
-  @local_mastodon_name "Mastodon-Local"
-
-  @doc "GET /web/login"
-  # Local Mastodon FE login callback action
-  def login(conn, %{"code" => auth_token} = params) do
-    with {:ok, app} <- local_mastofe_app(),
-         {:ok, auth} <- Authorization.get_by_token(app, auth_token),
-         {:ok, oauth_token} <- Token.exchange_token(app, auth) do
-      redirect_to =
-        conn
-        |> local_mastodon_post_login_path()
-        |> UriHelper.modify_uri_params(%{"access_token" => oauth_token.token})
-
-      conn
-      |> AuthHelper.put_session_token(oauth_token.token)
-      |> redirect(to: redirect_to)
-    else
-      _ -> redirect_to_oauth_form(conn, params)
-    end
-  end
-
-  def login(conn, params) do
-    with %{assigns: %{user: %User{}, token: %Token{app_id: app_id}}} <- conn,
-         {:ok, %{id: ^app_id}} <- local_mastofe_app() do
-      redirect(conn, to: local_mastodon_post_login_path(conn))
-    else
-      _ -> redirect_to_oauth_form(conn, params)
-    end
-  end
-
-  defp redirect_to_oauth_form(conn, _params) do
-    with {:ok, app} <- local_mastofe_app() do
-      path =
-        Routes.o_auth_path(conn, :authorize,
-          response_type: "code",
-          client_id: app.client_id,
-          redirect_uri: ".",
-          scope: Enum.join(app.scopes, " ")
-        )
-
-      redirect(conn, to: path)
-    end
-  end
-
-  @doc "DELETE /auth/sign_out"
-  def logout(conn, _) do
-    conn =
-      with %{assigns: %{token: %Token{} = oauth_token}} <- conn,
-           session_token = AuthHelper.get_session_token(conn),
-           {:ok, %Token{token: ^session_token}} <- RevokeToken.revoke(oauth_token) do
-        AuthHelper.delete_session_token(conn)
-      else
-        _ -> conn
-      end
-
-    redirect(conn, to: "/")
-  end
-
   @doc "POST /auth/password"
   def password_reset(conn, params) do
     nickname_or_email = params["email"] || params["nickname"]
@@ -86,23 +21,4 @@ defmodule Pleroma.Web.MastodonAPI.AuthController do
 
     json_response(conn, :no_content, "")
   end
-
-  defp local_mastodon_post_login_path(conn) do
-    case get_session(conn, :return_to) do
-      nil ->
-        Routes.masto_fe_path(conn, :index, ["getting-started"])
-
-      return_to ->
-        delete_session(conn, :return_to)
-        return_to
-    end
-  end
-
-  @spec local_mastofe_app() :: {:ok, App.t()} | {:error, Ecto.Changeset.t()}
-  def local_mastofe_app do
-    App.get_or_make(
-      %{client_name: @local_mastodon_name, redirect_uris: "."},
-      ["read", "write", "follow", "push", "admin"]
-    )
-  end
 end
diff --git a/lib/pleroma/web/templates/masto_fe/index.html.eex b/lib/pleroma/web/templates/masto_fe/index.html.eex
deleted file mode 100644 (file)
index 6f2b989..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html lang='en'>
-<head>
-<meta charset='utf-8'>
-<meta content='width=device-width, initial-scale=1' name='viewport'>
-<title>
-<%= Config.get([:instance, :name]) %>
-</title>
-<link rel="icon" type="image/png" href="/favicon.png"/>
-<link rel="manifest" type="applicaton/manifest+json" href="<%= Routes.masto_fe_path(Pleroma.Web.Endpoint, :manifest) %>" />
-
-<meta name="theme-color" content="<%= Config.get([:manifest, :theme_color]) %>" />
-
-<script crossorigin='anonymous' src="/packs/locales.js"></script>
-<script crossorigin='anonymous' src="/packs/locales/glitch/en.js"></script>
-
-<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/getting_started.js'>
-<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/compose.js'>
-<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/home_timeline.js'>
-<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/notifications.js'>
-<script id='initial-state' type='application/json'><%= initial_state(@token, @user, @custom_emojis) %></script>
-
-<script src="/packs/core/common.js"></script>
-<link rel="stylesheet" media="all" href="/packs/core/common.css" />
-
-<script src="/packs/flavours/glitch/common.js"></script>
-<link rel="stylesheet" media="all" href="/packs/flavours/glitch/common.css" />
-
-<script src="/packs/flavours/glitch/home.js"></script>
-</head>
-<body class='app-body no-reduce-motion system-font'>
-  <div class='app-holder' data-props='{&quot;locale&quot;:&quot;en&quot;}' id='mastodon'>
-  </div>
-</body>
-</html>
diff --git a/lib/pleroma/web/views/masto_fe_view.ex b/lib/pleroma/web/views/masto_fe_view.ex
deleted file mode 100644 (file)
index 63a9c81..0000000
+++ /dev/null
@@ -1,91 +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.MastoFEView do
-  use Pleroma.Web, :view
-  alias Pleroma.Config
-  alias Pleroma.User
-  alias Pleroma.Web.MastodonAPI.AccountView
-  alias Pleroma.Web.MastodonAPI.CustomEmojiView
-
-  def initial_state(token, user, custom_emojis) do
-    limit = Config.get([:instance, :limit])
-
-    %{
-      meta: %{
-        streaming_api_base_url: Pleroma.Web.Endpoint.websocket_url(),
-        access_token: token,
-        locale: "en",
-        domain: Pleroma.Web.Endpoint.host(),
-        admin: "1",
-        me: "#{user.id}",
-        unfollow_modal: false,
-        boost_modal: false,
-        delete_modal: true,
-        auto_play_gif: false,
-        display_sensitive_media: false,
-        reduce_motion: false,
-        max_toot_chars: limit,
-        mascot: User.get_mascot(user)["url"]
-      },
-      poll_limits: Config.get([:instance, :poll_limits]),
-      rights: %{
-        delete_others_notice: present?(user.is_moderator),
-        admin: present?(user.is_admin)
-      },
-      compose: %{
-        me: "#{user.id}",
-        default_privacy: user.default_scope,
-        default_sensitive: false,
-        allow_content_types: Config.get([:instance, :allowed_post_formats])
-      },
-      media_attachments: %{
-        accept_content_types: [
-          ".jpg",
-          ".jpeg",
-          ".png",
-          ".gif",
-          ".webm",
-          ".mp4",
-          ".m4v",
-          "image\/jpeg",
-          "image\/png",
-          "image\/gif",
-          "video\/webm",
-          "video\/mp4"
-        ]
-      },
-      settings: user.mastofe_settings || %{},
-      push_subscription: nil,
-      accounts: %{user.id => render(AccountView, "show.json", user: user, for: user)},
-      custom_emojis: render(CustomEmojiView, "index.json", custom_emojis: custom_emojis),
-      char_limit: limit
-    }
-    |> Jason.encode!()
-    |> Phoenix.HTML.raw()
-  end
-
-  defp present?(nil), do: false
-  defp present?(false), do: false
-  defp present?(_), do: true
-
-  def render("manifest.json", _params) do
-    %{
-      name: Config.get([:instance, :name]),
-      description: Config.get([:instance, :description]),
-      icons: Config.get([:manifest, :icons]),
-      theme_color: Config.get([:manifest, :theme_color]),
-      background_color: Config.get([:manifest, :background_color]),
-      display: "standalone",
-      scope: Pleroma.Web.Endpoint.url(),
-      start_url: Routes.masto_fe_path(Pleroma.Web.Endpoint, :index, ["getting-started"]),
-      categories: [
-        "social"
-      ],
-      serviceworker: %{
-        src: "/sw.js"
-      }
-    }
-  end
-end