Merge branch 'develop' into oembed_provider
[akkoma] / lib / pleroma / user / info.ex
index 2846459340a3f94b80788a0c0e2a003259a4111f..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)
@@ -23,6 +23,8 @@ defmodule Pleroma.User.Info do
     field(:uri, :string, default: nil)
     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?
@@ -30,11 +32,7 @@ defmodule Pleroma.User.Info do
     # avatar -> Where is this used?
     # fqn -> Where is this used?
     # host -> Where is this used?
-    # name -> Where is this used?
-    # nickname -> Where is this used?
-    # salmon -> Where is this used?
     # subject _> Where is this used?
-    # subscribe_address -> Where is this used?
   end
 
   def set_activation_status(info, deactivated) do
@@ -115,7 +113,8 @@ defmodule Pleroma.User.Info do
       :magic_key,
       :uri,
       :hub,
-      :topic
+      :topic,
+      :salmon
     ])
   end
 
@@ -136,7 +135,9 @@ defmodule Pleroma.User.Info do
       :locked,
       :no_rich_text,
       :default_scope,
-      :banner
+      :banner,
+      :hide_network,
+      :background
     ])
   end
 
@@ -148,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}