Merge branch 'develop' into oembed_provider
[akkoma] / lib / pleroma / user / info.ex
index 94d403bf7e11a60c14a86a7edaead3aeb4b95b1c..a3785447c39164876ed9af74ec2551bbc44ed0e4 100644 (file)
@@ -4,7 +4,7 @@ defmodule Pleroma.User.Info do
 
   embedded_schema do
     field(:banner, :map, default: %{})
-    field(:background, :string, default: nil)
+    field(:background, :map, default: %{})
     field(:source_data, :map, default: %{})
     field(:note_count, :integer, default: 0)
     field(:follower_count, :integer, default: 0)
@@ -24,6 +24,7 @@ defmodule Pleroma.User.Info do
     field(:topic, :string, default: nil)
     field(:hub, :string, default: nil)
     field(:salmon, :string, default: nil)
+    field(:hide_network, :boolean, default: false)
 
     # Found in the wild
     # ap_id -> Where is this used?
@@ -134,7 +135,9 @@ defmodule Pleroma.User.Info do
       :locked,
       :no_rich_text,
       :default_scope,
-      :banner
+      :banner,
+      :hide_network,
+      :background
     ])
   end
 
@@ -146,6 +149,14 @@ defmodule Pleroma.User.Info do
     ])
   end
 
+  def mastodon_settings_update(info, settings) do
+    params = %{settings: settings}
+
+    info
+    |> cast(params, [:settings])
+    |> validate_required([:settings])
+  end
+
   def set_source_data(info, source_data) do
     params = %{source_data: source_data}