From 8e722032fb5a69c6b40a0294a10a40ee8f6b2157 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 9 Dec 2020 17:55:38 +0100 Subject: [PATCH] [GraphQL] Move events endpoint to paginated event list Signed-off-by: Thomas Citharel --- js/schema.graphql | 2 +- js/src/graphql/event.ts | 88 ++++++++--------- js/src/views/Home.vue | 5 +- js/src/views/Search.vue | 11 ++- lib/graphql/resolvers/admin.ex | 2 +- lib/graphql/resolvers/event.ex | 4 +- lib/graphql/schema/event.ex | 2 +- lib/mobilizon/events/events.ex | 5 +- test/graphql/resolvers/event_test.exs | 131 ++++++++++---------------- test/mobilizon/events/events_test.exs | 8 +- 10 files changed, 116 insertions(+), 142 deletions(-) diff --git a/js/schema.graphql b/js/schema.graphql index b6010ab90..18b248f3e 100644 --- a/js/schema.graphql +++ b/js/schema.graphql @@ -1949,7 +1949,7 @@ type RootQueryType { "The limit of events per page" limit: Int - ): [Event] + ): PaginatedEventList "Get an event by uuid" event("The event's UUID" uuid: UUID!): Event diff --git a/js/src/graphql/event.ts b/js/src/graphql/event.ts index 4b0085837..357e28ce9 100644 --- a/js/src/graphql/event.ts +++ b/js/src/graphql/event.ts @@ -196,54 +196,54 @@ export const FETCH_EVENT_BASIC = gql` export const FETCH_EVENTS = gql` query { events { - id, - uuid, - url, - local, - title, - description, - beginsOn, - endsOn, - status, - visibility, - picture { + total + elements { id + uuid url - }, - publishAt, - # online_address, - # phone_address, - physicalAddress { - id, - description, - locality - }, - organizerActor { - id, - avatar { + local + title + description + beginsOn + endsOn + status + visibility + picture { id url - }, - preferredUsername, - domain, - name, - }, -# attributedTo { -# avatar { -# id -# url -# }, -# preferredUsername, -# name, -# }, - category, - participants { - ${participantsQuery} - }, - tags { - slug, - title - }, + } + publishAt + # online_address, + # phone_address, + physicalAddress { + id + description + locality + } + organizerActor { + id + avatar { + id + url + } + preferredUsername + domain + name + } + # attributedTo { + # avatar { + # id + # url + # }, + # preferredUsername, + # name, + # }, + category + tags { + slug + title + } + } } } `; diff --git a/js/src/views/Home.vue b/js/src/views/Home.vue index 4e4c86508..41c975c25 100644 --- a/js/src/views/Home.vue +++ b/js/src/views/Home.vue @@ -220,6 +220,7 @@