2020-06-19 17:27:10 +00:00
|
|
|
defmodule Mobilizon.GraphQL.Schema.StatisticsType do
|
|
|
|
@moduledoc """
|
|
|
|
Schema representation for Statistics
|
|
|
|
"""
|
|
|
|
use Absinthe.Schema.Notation
|
|
|
|
|
|
|
|
alias Mobilizon.GraphQL.Resolvers.Statistics
|
|
|
|
|
|
|
|
@desc "A statistics object"
|
|
|
|
object :statistics do
|
|
|
|
# Instance name
|
|
|
|
field(:number_of_users, :integer, description: "The number of local users")
|
2020-10-07 08:05:07 +00:00
|
|
|
field(:number_of_events, :integer, description: "The total number of events")
|
|
|
|
field(:number_of_local_events, :integer, description: "The number of local events")
|
|
|
|
field(:number_of_comments, :integer, description: "The total number of comments")
|
|
|
|
field(:number_of_local_comments, :integer, description: "The number of local events")
|
|
|
|
field(:number_of_groups, :integer, description: "The total number of groups")
|
|
|
|
field(:number_of_local_groups, :integer, description: "The number of local groups")
|
|
|
|
|
|
|
|
field(:number_of_instance_followers, :integer,
|
|
|
|
description: "The number of this instance's followers"
|
|
|
|
)
|
|
|
|
|
|
|
|
field(:number_of_instance_followings, :integer,
|
|
|
|
description: "The number of instances this instance follows"
|
|
|
|
)
|
2020-06-19 17:27:10 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
object :statistics_queries do
|
|
|
|
@desc "Get the instance statistics"
|
|
|
|
field :statistics, :statistics do
|
|
|
|
resolve(&Statistics.get_statistics/3)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|