commit: 79e46ce73f782a83654986adc9fd0b256be6a2e6
parent 9effa24f308917f70276c41f91fb204b7684d942
Author: marcin mikołajczak <git@mkljczk.pl>
Date: Fri, 11 Aug 2023 13:57:22 +0200
InstanceView: Add common_information function
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
Diffstat:
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -13,12 +13,11 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
def render("show.json", _) do
instance = Config.get(:instance)
- %{
+ common_information(instance)
+ |> Map.merge(%{
uri: Pleroma.Web.WebFinger.domain(),
- title: Keyword.get(instance, :name),
description: Keyword.get(instance, :description),
short_description: Keyword.get(instance, :short_description),
- version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.named_version()})",
email: Keyword.get(instance, :email),
urls: %{
streaming_api: Pleroma.Web.Endpoint.websocket_url()
@@ -27,7 +26,6 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
thumbnail:
URI.merge(Pleroma.Web.Endpoint.url(), Keyword.get(instance, :instance_thumbnail))
|> to_string,
- languages: Keyword.get(instance, :languages, ["en"]),
registrations: Keyword.get(instance, :registrations_open),
approval_required: Keyword.get(instance, :account_approval_required),
configuration: configuration(),
@@ -43,16 +41,15 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
shout_limit: Config.get([:shout, :limit]),
description_limit: Keyword.get(instance, :description_limit),
pleroma: pleroma_configuration(instance)
- }
+ })
end
def render("show2.json", _) do
instance = Config.get(:instance)
- %{
+ common_information(instance)
+ |> Map.merge(%{
domain: Pleroma.Web.WebFinger.domain(),
- title: Keyword.get(instance, :name),
- version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.named_version()})",
source_url: Pleroma.Application.repository(),
description: Keyword.get(instance, :short_description),
usage: %{users: %{active_month: Pleroma.User.active_user_count()}},
@@ -61,7 +58,6 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
URI.merge(Pleroma.Web.Endpoint.url(), Keyword.get(instance, :instance_thumbnail))
|> to_string
},
- languages: Keyword.get(instance, :languages, ["en"]),
configuration: configuration2(),
registrations: %{
enabled: Keyword.get(instance, :registrations_open),
@@ -74,6 +70,14 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
},
# Extra (not present in Mastodon):
pleroma: pleroma_configuration2(instance)
+ })
+ end
+
+ defp common_information(instance) do
+ %{
+ title: Keyword.get(instance, :name),
+ version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.named_version()})",
+ languages: Keyword.get(instance, :languages, ["en"])
}
end