From 50585d051b9366903943f7388219ac96af6c8621 Mon Sep 17 00:00:00 2001 From: lain Date: Sun, 18 Nov 2018 18:04:42 +0100 Subject: [PATCH] Add User.Info module To validate and mutate the user.info field. --- lib/pleroma/user/info.ex | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/pleroma/user/info.ex 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