Add User.Info module
authorlain <lain@soykaf.club>
Sun, 18 Nov 2018 17:04:42 +0000 (18:04 +0100)
committerlain <lain@soykaf.club>
Sun, 18 Nov 2018 17:04:42 +0000 (18:04 +0100)
To validate and mutate the user.info field.

lib/pleroma/user/info.ex [new file with mode: 0644]

diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex
new file mode 100644 (file)
index 0000000..e135372
--- /dev/null
@@ -0,0 +1,27 @@
+defmodule Pleroma.User.Info do
+  use Ecto.Schema
+  import Ecto.Changeset
+
+  embedded_schema do
+    field :banner, :map, default: %{}
+    field :source_data, :map, default: %{}
+    field :note_count, :integer, default: 0
+    field :follower_count, :integer, default: 0
+    field :locked, :boolean, default: false
+    field :default_scope, :string, default: "public"
+    field :blocks, {:array, :string}, default: []
+    field :domain_blocks, {:array, :string}, default: []
+    field :deactivated, :boolean, default: false
+    field :no_rich_text, :boolean, default: false
+    field :ap_enabled, :boolean, default: false
+    field :keys, :map, default: %{}
+  end
+
+  def set_activation_status(info, deactivated) do
+    params = %{deactivated: deactivated}
+
+    info
+    |> cast(params, [:deactivated])
+    |> validate_required([:deactivated])
+  end
+end