diff options
Diffstat (limited to 'app/assets/javascripts/lib/graphql.js')
-rw-r--r-- | app/assets/javascripts/lib/graphql.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js index 2c5278d16ae..b49fe9362c2 100644 --- a/app/assets/javascripts/lib/graphql.js +++ b/app/assets/javascripts/lib/graphql.js @@ -5,6 +5,14 @@ import { ApolloLink } from 'apollo-link'; import { BatchHttpLink } from 'apollo-link-batch-http'; import csrf from '~/lib/utils/csrf'; +export const fetchPolicies = { + CACHE_FIRST: 'cache-first', + CACHE_AND_NETWORK: 'cache-and-network', + NETWORK_ONLY: 'network-only', + NO_CACHE: 'no-cache', + CACHE_ONLY: 'cache-only', +}; + export default (resolvers = {}, config = {}) => { let uri = `${gon.relative_url_root}/api/graphql`; @@ -32,5 +40,10 @@ export default (resolvers = {}, config = {}) => { }), resolvers, assumeImmutableResults: config.assumeImmutableResults, + defaultOptions: { + query: { + fetchPolicy: config.fetchPolicy || fetchPolicies.CACHE_FIRST, + }, + }, }); }; |