diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-08-06 18:21:25 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-08-14 14:52:54 +0700 |
commit | f7bbf99caade7f06756e95e3a4e2f0e4d3e76579 (patch) | |
tree | c88c9e372a60fc2d6822a4d7d6cf6aa7c4f2353d /lib/pleroma/user | |
parent | 2c35d4b0b04e58368c51f2828536d295f72839a2 (diff) | |
download | pleroma-f7bbf99caade7f06756e95e3a4e2f0e4d3e76579.tar.gz |
Use info.fields instead of source_data for remote users
Diffstat (limited to 'lib/pleroma/user')
-rw-r--r-- | lib/pleroma/user/info.ex | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex index e54243f06..ada9fb689 100644 --- a/lib/pleroma/user/info.ex +++ b/lib/pleroma/user/info.ex @@ -50,6 +50,7 @@ defmodule Pleroma.User.Info do field(:emoji, {:array, :map}, default: []) field(:pleroma_settings_store, :map, default: %{}) field(:fields, {:array, :map}, default: []) + field(:raw_fields, {:array, :map}, default: []) field(:notification_settings, :map, default: %{ @@ -270,8 +271,10 @@ defmodule Pleroma.User.Info do :follower_count, :following_count, :hide_follows, + :fields, :hide_followers ]) + |> validate_fields() end def profile_update(info, params) do @@ -288,6 +291,7 @@ defmodule Pleroma.User.Info do :show_role, :skip_thread_containment, :fields, + :raw_fields, :pleroma_settings_store ]) |> validate_fields() @@ -415,7 +419,7 @@ defmodule Pleroma.User.Info do # ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``. # For example: [{"name": "Pronoun", "value": "she/her"}, …] - def fields(%{source_data: %{"attachment" => attachment}}) do + def fields(%{fields: [], source_data: %{"attachment" => attachment}}) do attachment |> Enum.filter(fn %{"type" => t} -> t == "PropertyValue" end) |> Enum.map(fn fields -> Map.take(fields, ["name", "value"]) end) |