Remove unused Pleroma.User.info_fields/0
[akkoma] / lib / pleroma / user.ex
index e2ebb7d64b33790c63ce38be2e9a9e82d4feb0dd..b99e236a4790ac2dc29f3a17c5d5d1adc5671e0d 100644 (file)
@@ -89,9 +89,6 @@ defmodule Pleroma.User do
     field(:settings, :map, default: nil)
     field(:magic_key, :string, default: nil)
     field(:uri, :string, default: nil)
-    field(:topic, :string, default: nil)
-    field(:hub, :string, default: nil)
-    field(:salmon, :string, default: nil)
     field(:hide_followers_count, :boolean, default: false)
     field(:hide_follows_count, :boolean, default: false)
     field(:hide_followers, :boolean, default: false)
@@ -103,9 +100,10 @@ defmodule Pleroma.User do
     field(:mascot, :map, default: nil)
     field(:emoji, {:array, :map}, default: [])
     field(:pleroma_settings_store, :map, default: %{})
-    field(:fields, {:array, :map}, default: nil)
+    field(:fields, {:array, :map}, default: [])
     field(:raw_fields, {:array, :map}, default: [])
     field(:discoverable, :boolean, default: false)
+    field(:invisible, :boolean, default: false)
     field(:skip_thread_containment, :boolean, default: false)
 
     field(:notification_settings, :map,
@@ -145,6 +143,9 @@ defmodule Pleroma.User do
   def superuser?(%User{local: true, is_moderator: true}), do: true
   def superuser?(_), do: false
 
+  def invisible?(%User{invisible: true}), do: true
+  def invisible?(_), do: false
+
   def avatar_url(user, options \\ []) do
     case user.avatar do
       %{"url" => [%{"href" => href} | _]} -> href
@@ -223,56 +224,6 @@ defmodule Pleroma.User do
     |> Repo.aggregate(:count, :id)
   end
 
-  @info_fields [
-    :banner,
-    :background,
-    :source_data,
-    :note_count,
-    :follower_count,
-    :following_count,
-    :locked,
-    :confirmation_pending,
-    :password_reset_pending,
-    :confirmation_token,
-    :default_scope,
-    :blocks,
-    :domain_blocks,
-    :mutes,
-    :muted_reblogs,
-    :muted_notifications,
-    :subscribers,
-    :deactivated,
-    :no_rich_text,
-    :ap_enabled,
-    :is_moderator,
-    :is_admin,
-    :show_role,
-    :settings,
-    :magic_key,
-    :uri,
-    :topic,
-    :hub,
-    :salmon,
-    :hide_followers_count,
-    :hide_follows_count,
-    :hide_followers,
-    :hide_follows,
-    :hide_favorites,
-    :unread_conversation_count,
-    :pinned_activities,
-    :email_notifications,
-    :mascot,
-    :emoji,
-    :pleroma_settings_store,
-    :fields,
-    :raw_fields,
-    :discoverable,
-    :skip_thread_containment,
-    :notification_settings
-  ]
-
-  def info_fields, do: @info_fields
-
   defp truncate_fields_param(params) do
     if Map.has_key?(params, :fields) do
       Map.put(params, :fields, Enum.map(params[:fields], &truncate_field/1))
@@ -317,9 +268,6 @@ defmodule Pleroma.User do
           :locked,
           :magic_key,
           :uri,
-          :hub,
-          :topic,
-          :salmon,
           :hide_followers,
           :hide_follows,
           :hide_followers_count,
@@ -327,7 +275,8 @@ defmodule Pleroma.User do
           :follower_count,
           :fields,
           :following_count,
-          :discoverable
+          :discoverable,
+          :invisible
         ]
       )
       |> validate_required([:name, :ap_id])
@@ -1453,7 +1402,7 @@ defmodule Pleroma.User do
     {:ok, key}
   end
 
-  def public_key_from_info(_), do: {:error, "not found key"}
+  def public_key(_), do: {:error, "not found key"}
 
   def get_public_key_for_ap_id(ap_id) do
     with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id),
@@ -2027,4 +1976,13 @@ defmodule Pleroma.User do
     |> cast(params, [:muted_reblogs])
     |> update_and_set_cache()
   end
+
+  def set_invisible(user, invisible) do
+    params = %{invisible: invisible}
+
+    user
+    |> cast(params, [:invisible])
+    |> validate_required([:invisible])
+    |> update_and_set_cache()
+  end
 end