InstanceView: Move supported languages to pleroma.metadata

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak 2022-12-10 21:21:38 +01:00
parent 4696487f1f
commit 7fca35f4fd

View file

@ -206,36 +206,10 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
vapid: %{ vapid: %{
public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key)
}, },
translation: translation_config() translation: %{enabled: Pleroma.Language.Translation.configured?()}
}) })
end end
defp translation_config do
enabled = Pleroma.Language.Translation.configured?()
source_languages =
with true <- enabled,
{:ok, languages} <- Pleroma.Language.Translation.supported_languages(:source) do
languages
else
_ -> nil
end
target_languages =
with true <- enabled,
{:ok, languages} <- Pleroma.Language.Translation.supported_languages(:target) do
languages
else
_ -> nil
end
%{
enabled: enabled,
source_languages: source_languages,
target_languages: target_languages
}
end
defp pleroma_configuration(instance) do defp pleroma_configuration(instance) do
%{ %{
metadata: %{ metadata: %{
@ -245,7 +219,8 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
fields_limits: fields_limits(), fields_limits: fields_limits(),
post_formats: Config.get([:instance, :allowed_post_formats]), post_formats: Config.get([:instance, :allowed_post_formats]),
birthday_required: Config.get([:instance, :birthday_required]), birthday_required: Config.get([:instance, :birthday_required]),
birthday_min_age: Config.get([:instance, :birthday_min_age]) birthday_min_age: Config.get([:instance, :birthday_min_age]),
translation: supported_languages()
}, },
stats: %{mau: Pleroma.User.active_user_count()}, stats: %{mau: Pleroma.User.active_user_count()},
vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key)
@ -271,4 +246,29 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
}) })
}) })
end end
defp supported_languages do
enabled = Pleroma.Language.Translation.configured?()
source_languages =
with true <- enabled,
{:ok, languages} <- Pleroma.Language.Translation.supported_languages(:source) do
languages
else
_ -> nil
end
target_languages =
with true <- enabled,
{:ok, languages} <- Pleroma.Language.Translation.supported_languages(:target) do
languages
else
_ -> nil
end
%{
source_languages: source_languages,
target_languages: target_languages
}
end
end end