Merge branch 'feature/1792-update-actor-type' into 'develop'
authorlain <lain@soykaf.club>
Thu, 28 May 2020 16:58:28 +0000 (16:58 +0000)
committerlain <lain@soykaf.club>
Thu, 28 May 2020 16:58:28 +0000 (16:58 +0000)
Validate actor type

See merge request pleroma/pleroma!2593

1  2 
lib/pleroma/user.ex

diff --combined lib/pleroma/user.ex
index 42c4c4e3e20e162048cb8a0d411b45d4fd6ad769,2684e11396b64d3cad85fc4ebf591411341ce135..72ee2d58e2951a615e247e574faf480c8e1180e2
@@@ -538,9 -538,10 +538,10 @@@ defmodule Pleroma.User d
      |> delete_change(:also_known_as)
      |> unique_constraint(:email)
      |> validate_format(:email, @email_regex)
+     |> validate_inclusion(:actor_type, ["Person", "Service"])
    end
  
-   @spec update_as_admin(%User{}, map) :: {:ok, User.t()} | {:error, Ecto.Changeset.t()}
+   @spec update_as_admin(User.t(), map()) :: {:ok, User.t()} | {:error, Changeset.t()}
    def update_as_admin(user, params) do
      params = Map.put(params, "password_confirmation", params["password"])
      changeset = update_as_admin_changeset(user, params)
      |> put_change(:password_reset_pending, false)
    end
  
-   @spec reset_password(User.t(), map) :: {:ok, User.t()} | {:error, Ecto.Changeset.t()}
+   @spec reset_password(User.t(), map()) :: {:ok, User.t()} | {:error, Changeset.t()}
    def reset_password(%User{} = user, params) do
      reset_password(user, user, params)
    end
  
    def increment_unread_conversation_count(_, user), do: {:ok, user}
  
 -  @spec get_users_from_set([String.t()], boolean()) :: [User.t()]
 -  def get_users_from_set(ap_ids, local_only \\ true) do
 +  @spec get_users_from_set([String.t()], keyword()) :: [User.t()]
 +  def get_users_from_set(ap_ids, opts \\ []) do
 +    local_only = Keyword.get(opts, :local_only, true)
      criteria = %{ap_id: ap_ids, deactivated: false}
      criteria = if local_only, do: Map.put(criteria, :local, true), else: criteria