From ae027b4e3956e9f2abe0259e706eadd8caf3cfa2 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Oct 2020 12:14:53 +0200 Subject: [PATCH] Fix GraphQL cache errors because of missing id on some queries Also moves some queries to cache-and-network policy and improve typescript a bit Closes #387 Signed-off-by: Thomas Citharel --- js/src/graphql/actor.ts | 16 ++++------------ js/src/graphql/discussion.ts | 4 ++++ js/src/graphql/event.ts | 3 +++ js/src/graphql/feed_tokens.ts | 12 ------------ js/src/graphql/group.ts | 1 + js/src/graphql/report.ts | 1 + js/src/graphql/search.ts | 2 ++ js/src/views/Event/MyEvents.vue | 6 +++--- js/src/views/Event/Participants.vue | 21 +++++++++------------ js/src/views/Group/MyGroups.vue | 2 +- js/src/views/Home.vue | 2 +- 11 files changed, 29 insertions(+), 41 deletions(-) diff --git a/js/src/graphql/actor.ts b/js/src/graphql/actor.ts index b9c907b41..f301b0e3b 100644 --- a/js/src/graphql/actor.ts +++ b/js/src/graphql/actor.ts @@ -23,6 +23,7 @@ export const FETCH_PERSON = gql` organizedEvents { total elements { + id uuid title beginsOn @@ -120,18 +121,6 @@ export const LIST_PROFILES = gql` } `; -export const LOGGED_PERSON = gql` - query { - loggedPerson { - id - avatar { - url - } - preferredUsername - } - } -`; - export const UPDATE_DEFAULT_ACTOR = gql` mutation ChangeDefaultActor($preferredUsername: String!) { changeDefaultActor(preferredUsername: $preferredUsername) { @@ -180,6 +169,7 @@ export const LOGGED_USER_PARTICIPATIONS = gql` $limit: Int ) { loggedUser { + id participations( afterDatetime: $afterDateTime beforeDatetime: $beforeDateTime @@ -240,6 +230,7 @@ export const LOGGED_USER_PARTICIPATIONS = gql` export const LOGGED_USER_DRAFTS = gql` query LoggedUserDrafts($page: Int, $limit: Int) { loggedUser { + id drafts(page: $page, limit: $limit) { id uuid @@ -276,6 +267,7 @@ export const LOGGED_USER_DRAFTS = gql` export const LOGGED_USER_MEMBERSHIPS = gql` query LoggedUserMemberships($page: Int, $limit: Int) { loggedUser { + id memberships(page: $page, limit: $limit) { total elements { diff --git a/js/src/graphql/discussion.ts b/js/src/graphql/discussion.ts index 29d04557b..460a136f6 100644 --- a/js/src/graphql/discussion.ts +++ b/js/src/graphql/discussion.ts @@ -13,6 +13,7 @@ export const DISCUSSION_BASIC_FIELDS_FRAGMENT = gql` actor { id preferredUsername + domain avatar { url } @@ -35,6 +36,7 @@ export const DISCUSSION_FIELDS_FOR_REPLY_FRAGMENT = gql` actor { id preferredUsername + domain avatar { url } @@ -43,10 +45,12 @@ export const DISCUSSION_FIELDS_FOR_REPLY_FRAGMENT = gql` actor { id preferredUsername + domain } creator { id preferredUsername + domain } } `; diff --git a/js/src/graphql/event.ts b/js/src/graphql/event.ts index a0ab2cc3d..f53eaafd9 100644 --- a/js/src/graphql/event.ts +++ b/js/src/graphql/event.ts @@ -142,6 +142,7 @@ export const FETCH_EVENT = gql` ${tagsQuery} }, relatedEvents { + id uuid, title, beginsOn, @@ -150,9 +151,11 @@ export const FETCH_EVENT = gql` url } physicalAddress { + id description }, organizerActor { + id avatar { url, }, diff --git a/js/src/graphql/feed_tokens.ts b/js/src/graphql/feed_tokens.ts index aedf4f5fc..706dd7f09 100644 --- a/js/src/graphql/feed_tokens.ts +++ b/js/src/graphql/feed_tokens.ts @@ -1,17 +1,5 @@ import gql from "graphql-tag"; -export const LOGGED_PERSON = gql` - query { - loggedPerson { - id - avatar { - url - } - preferredUsername - } - } -`; - export const CREATE_FEED_TOKEN_ACTOR = gql` mutation createFeedToken($actor_id: ID!) { createFeedToken(actorId: $actor_id) { diff --git a/js/src/graphql/group.ts b/js/src/graphql/group.ts index a3afb9f55..3cbbcaf21 100644 --- a/js/src/graphql/group.ts +++ b/js/src/graphql/group.ts @@ -38,6 +38,7 @@ export const LIST_GROUPS = gql` } organizedEvents { elements { + id uuid title beginsOn diff --git a/js/src/graphql/report.ts b/js/src/graphql/report.ts index e0cdac446..bb0cfd8e0 100644 --- a/js/src/graphql/report.ts +++ b/js/src/graphql/report.ts @@ -161,6 +161,7 @@ export const LOGS = gql` actor { id preferredUsername + domain avatar { url } diff --git a/js/src/graphql/search.ts b/js/src/graphql/search.ts index bcff6e7e6..5cfdaa040 100644 --- a/js/src/graphql/search.ts +++ b/js/src/graphql/search.ts @@ -23,6 +23,7 @@ export const SEARCH_EVENTS = gql` ) { total elements { + id title uuid beginsOn @@ -44,6 +45,7 @@ export const SEARCH_GROUPS = gql` searchGroups(term: $term, location: $location, radius: $radius, page: $page, limit: $limit) { total elements { + id avatar { url } diff --git a/js/src/views/Event/MyEvents.vue b/js/src/views/Event/MyEvents.vue index fe172894b..593713de7 100644 --- a/js/src/views/Event/MyEvents.vue +++ b/js/src/views/Event/MyEvents.vue @@ -109,7 +109,7 @@ import Subtitle from "../../components/Utils/Subtitle.vue"; apollo: { futureParticipations: { query: LOGGED_USER_PARTICIPATIONS, - fetchPolicy: "network-only", + fetchPolicy: "cache-and-network", variables: { page: 1, limit: 10, @@ -122,7 +122,7 @@ import Subtitle from "../../components/Utils/Subtitle.vue"; }, drafts: { query: LOGGED_USER_DRAFTS, - fetchPolicy: "network-only", + fetchPolicy: "cache-and-network", variables: { page: 1, limit: 10, @@ -131,7 +131,7 @@ import Subtitle from "../../components/Utils/Subtitle.vue"; }, pastParticipations: { query: LOGGED_USER_PARTICIPATIONS, - fetchPolicy: "network-only", + fetchPolicy: "cache-and-network", variables: { page: 1, limit: 10, diff --git a/js/src/views/Event/Participants.vue b/js/src/views/Event/Participants.vue index 139b37620..d2ee4ea22 100644 --- a/js/src/views/Event/Participants.vue +++ b/js/src/views/Event/Participants.vue @@ -185,12 +185,10 @@