relay: set invisible to true
[akkoma] / lib / pleroma / user / info.ex
index eef985d0d5fcc6d259fc070c23686936ea5f8106..53525b3863f750dac87b25443d08c9b8f207fd5f 100644 (file)
@@ -39,14 +39,12 @@ defmodule Pleroma.User.Info 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)
     field(:hide_follows, :boolean, default: false)
     field(:hide_favorites, :boolean, default: true)
+    field(:unread_conversation_count, :integer, default: 0)
     field(:pinned_activities, {:array, :string}, default: [])
     field(:email_notifications, :map, default: %{"digest" => false})
     field(:mascot, :map, default: nil)
@@ -55,6 +53,7 @@ defmodule Pleroma.User.Info do
     field(:fields, {:array, :map}, default: nil)
     field(:raw_fields, {:array, :map}, default: [])
     field(:discoverable, :boolean, default: false)
+    field(:invisible, :boolean, default: false)
 
     field(:notification_settings, :map,
       default: %{
@@ -261,9 +260,6 @@ defmodule Pleroma.User.Info do
       :locked,
       :magic_key,
       :uri,
-      :hub,
-      :topic,
-      :salmon,
       :hide_followers,
       :hide_follows,
       :hide_followers_count,
@@ -338,9 +334,7 @@ defmodule Pleroma.User.Info do
     name_limit = Pleroma.Config.get([:instance, :account_field_name_length], 255)
     value_limit = Pleroma.Config.get([:instance, :account_field_value_length], 255)
 
-    is_binary(name) &&
-      is_binary(value) &&
-      String.length(name) <= name_limit &&
+    is_binary(name) && is_binary(value) && String.length(name) <= name_limit &&
       String.length(value) <= value_limit
   end
 
@@ -400,6 +394,14 @@ defmodule Pleroma.User.Info do
     |> validate_required([:source_data])
   end
 
+  def set_invisible(info, invisible) do
+    params = %{invisible: invisible}
+
+    info
+    |> cast(params, [:invisible])
+    |> validate_required([:invisible])
+  end
+
   def admin_api_update(info, params) do
     info
     |> cast(params, [