aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2019-08-06 18:21:25 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2019-08-14 14:52:54 +0700
commitf7bbf99caade7f06756e95e3a4e2f0e4d3e76579 (patch)
treec88c9e372a60fc2d6822a4d7d6cf6aa7c4f2353d /lib/pleroma/user
parent2c35d4b0b04e58368c51f2828536d295f72839a2 (diff)
downloadpleroma-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.ex6
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)