projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump mix.exs version
[akkoma]
/
lib
/
pleroma
/
web
/
mastodon_api
/
controllers
/
mastodon_api_controller.ex
diff --git
a/lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
b/lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
index edc5e721492e04570b3118b1b6fc99022cd2cf5e..863d673eaad79292db080b47b7a4cdfe1241a23a 100644
(file)
--- a/
lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
+++ b/
lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
@@
-119,6
+119,14
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end
end
end
end
+ defp normalize_fields_attributes(fields) do
+ if Enum.all?(fields, &is_tuple/1) do
+ Enum.map(fields, fn {_, v} -> v end)
+ else
+ fields
+ end
+ end
+
def update_credentials(%{assigns: %{user: user}} = conn, params) do
original_user = user
def update_credentials(%{assigns: %{user: user}} = conn, params) do
original_user = user
@@
-143,6
+151,17
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> Enum.concat(Formatter.get_emoji_map(emojis_text))
|> Enum.dedup()
|> Enum.concat(Formatter.get_emoji_map(emojis_text))
|> Enum.dedup()
+ params =
+ if Map.has_key?(params, "fields_attributes") do
+ Map.update!(params, "fields_attributes", fn fields ->
+ fields
+ |> normalize_fields_attributes()
+ |> Enum.filter(fn %{"name" => n} -> n != "" end)
+ end)
+ else
+ params
+ end
+
info_params =
[
:no_rich_text,
info_params =
[
:no_rich_text,
@@
-159,12
+178,12
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end)
end)
|> add_if_present(params, "default_scope", :default_scope)
end)
end)
|> add_if_present(params, "default_scope", :default_scope)
- |> add_if_present(params, "fields", :fields, fn fields ->
+ |> add_if_present(params, "fields
_attributes
", :fields, fn fields ->
fields = Enum.map(fields, fn f -> Map.update!(f, "value", &AutoLinker.link(&1)) end)
{:ok, fields}
end)
fields = Enum.map(fields, fn f -> Map.update!(f, "value", &AutoLinker.link(&1)) end)
{:ok, fields}
end)
- |> add_if_present(params, "fields", :raw_fields)
+ |> add_if_present(params, "fields
_attributes
", :raw_fields)
|> add_if_present(params, "pleroma_settings_store", :pleroma_settings_store, fn value ->
{:ok, Map.merge(user.info.pleroma_settings_store, value)}
end)
|> add_if_present(params, "pleroma_settings_store", :pleroma_settings_store, fn value ->
{:ok, Map.merge(user.info.pleroma_settings_store, value)}
end)
@@
-379,7
+398,6
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> Map.put("local_only", local_only)
|> Map.put("blocking_user", user)
|> Map.put("muting_user", user)
|> Map.put("local_only", local_only)
|> Map.put("blocking_user", user)
|> Map.put("muting_user", user)
- |> Map.put("user", user)
|> ActivityPub.fetch_public_activities()
|> Enum.reverse()
|> ActivityPub.fetch_public_activities()
|> Enum.reverse()