From 7fca35f4fd9ca396761f236119936978b63120a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sat, 10 Dec 2022 21:21:38 +0100 Subject: [PATCH] InstanceView: Move supported languages to pleroma.metadata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- .../web/mastodon_api/views/instance_view.ex | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index f81d33f8d..b6b99c477 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -206,36 +206,10 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do vapid: %{ public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) }, - translation: translation_config() + translation: %{enabled: Pleroma.Language.Translation.configured?()} }) 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 %{ metadata: %{ @@ -245,7 +219,8 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do fields_limits: fields_limits(), post_formats: Config.get([:instance, :allowed_post_formats]), 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()}, vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) @@ -271,4 +246,29 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do }) }) 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