diff --git a/lib/graphql/resolvers/admin.ex b/lib/graphql/resolvers/admin.ex index 036f855e7..ce2002eb9 100644 --- a/lib/graphql/resolvers/admin.ex +++ b/lib/graphql/resolvers/admin.ex @@ -213,12 +213,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do _ -> nil end - last_group_created = - case Actors.list_actors(:Group) do - %Page{elements: [group | _]} -> group - _ -> nil - end - {:ok, %{ number_of_users: Statistics.get_cached_value(:local_users), @@ -231,7 +225,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do number_of_followers: Statistics.get_cached_value(:instance_followers), number_of_followings: Statistics.get_cached_value(:instance_followings), last_public_event_published: last_public_event_published, - last_group_created: last_group_created + last_group_created: Actors.last_group_created() }} end diff --git a/lib/mobilizon/actors/actors.ex b/lib/mobilizon/actors/actors.ex index bf3b640d0..5fa587254 100644 --- a/lib/mobilizon/actors/actors.ex +++ b/lib/mobilizon/actors/actors.ex @@ -444,6 +444,15 @@ defmodule Mobilizon.Actors do |> Repo.preload(:organized_events) end + @spec last_group_created :: Actor.t() | nil + def last_group_created do + Actor + |> where(type: :Group, suspended: false) + |> order_by(desc: :inserted_at) + |> limit(1) + |> Repo.one() + end + @doc """ Builds a page struct for actors by their name or displayed name. """