X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=efe9ec5d6fe7f69d3856f7041ee6fc8ebb12027f;hb=0f6bece60dd433ec39082748700911ed9b69e630;hp=390de1e2d95c9326f9a558930ed5a7d9c873be0c;hpb=de006443f0bc8cfb3ad28b29b2d8ea9581e760b6;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 390de1e2d..efe9ec5d6 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -124,6 +124,7 @@ defmodule Pleroma.User do field(:is_moderator, :boolean, default: false) field(:is_admin, :boolean, default: false) field(:show_role, :boolean, default: true) + field(:mastofe_settings, :map, default: nil) field(:uri, ObjectValidators.Uri, default: nil) field(:hide_followers_count, :boolean, default: false) field(:hide_follows_count, :boolean, default: false) @@ -1090,6 +1091,7 @@ defmodule Pleroma.User do def update_and_set_cache(changeset) do with {:ok, user} <- Repo.update(changeset, stale_error_field: :id) do + Pleroma.Elasticsearch.maybe_put_into_elasticsearch(user) set_cache(user) end end @@ -1730,6 +1732,7 @@ defmodule Pleroma.User do ap_enabled: false, is_moderator: false, is_admin: false, + mastofe_settings: nil, mascot: nil, emoji: %{}, pleroma_settings_store: %{}, @@ -2347,6 +2350,13 @@ defmodule Pleroma.User do |> update_and_set_cache() end + def mastodon_settings_update(user, settings) do + user + |> cast(%{mastofe_settings: settings}, [:mastofe_settings]) + |> validate_required([:mastofe_settings]) + |> update_and_set_cache() + end + @spec confirmation_changeset(User.t(), keyword()) :: Changeset.t() def confirmation_changeset(user, set_confirmation: confirmed?) do params =