aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-11-18 18:04:42 +0100
committerlain <lain@soykaf.club>2018-11-18 18:04:42 +0100
commit50585d051b9366903943f7388219ac96af6c8621 (patch)
treeeae62afc3a8fef89f83cefb94cfe561a2cc92f99 /lib
parent51435014269567d4d05e9961cd0fa884cfbbb072 (diff)
downloadpleroma-50585d051b9366903943f7388219ac96af6c8621.tar.gz
Add User.Info module
To validate and mutate the user.info field.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user/info.ex27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex
new file mode 100644
index 000000000..e13537226
--- /dev/null
+++ b/lib/pleroma/user/info.ex
@@ -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