[GraphQL] Expose events from followed/member group activity
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
20
lib/graphql/schema/followed_group_activity.ex
Normal file
20
lib/graphql/schema/followed_group_activity.ex
Normal file
@@ -0,0 +1,20 @@
|
||||
defmodule Mobilizon.GraphQL.Schema.FollowedGroupActivityType do
|
||||
@moduledoc """
|
||||
Schema representation for a follow activity
|
||||
"""
|
||||
use Absinthe.Schema.Notation
|
||||
|
||||
@desc "A paginated list of follow group events"
|
||||
object :paginated_followed_group_events do
|
||||
field(:elements, list_of(:followed_group_event), description: "A list of follow group events")
|
||||
field(:total, :integer, description: "The total number of follow group events in the list")
|
||||
end
|
||||
|
||||
@desc "A follow group event"
|
||||
object :followed_group_event do
|
||||
field(:user, :user)
|
||||
field(:profile, :person)
|
||||
field(:group, :group)
|
||||
field(:event, :event)
|
||||
end
|
||||
end
|
||||
@@ -104,6 +104,22 @@ defmodule Mobilizon.GraphQL.Schema.UserType do
|
||||
resolve(&User.user_drafted_events/3)
|
||||
end
|
||||
|
||||
field(:followed_group_events, :paginated_followed_group_events,
|
||||
description: "The suggested events from the groups this user follows"
|
||||
) do
|
||||
arg(:page, :integer,
|
||||
default_value: 1,
|
||||
description: "The page in the follow group events list"
|
||||
)
|
||||
|
||||
arg(:limit, :integer,
|
||||
default_value: 10,
|
||||
description: "The limit of follow group events per page"
|
||||
)
|
||||
|
||||
resolve(&User.user_followed_group_events/3)
|
||||
end
|
||||
|
||||
field(:settings, :user_settings, description: "The list of settings for this user") do
|
||||
resolve(&User.user_settings/3)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user