ember-apollo-client icon indicating copy to clipboard operation
ember-apollo-client copied to clipboard

Local state management

Open knownasilya opened this issue 4 years ago • 4 comments

How does one add local resolvers for local state management like here: https://www.apollographql.com/docs/react/data/local-state/

knownasilya avatar Jan 03 '20 14:01 knownasilya

@knownasilya did you find a way to have local cache resolvers?

xomaczar avatar Feb 10 '20 14:02 xomaczar

No

knownasilya avatar Feb 10 '20 15:02 knownasilya

@knownasilya You need to override clientOptions() in ApolloService to add local resolvers :

export default class OverriddenApolloService extends ApolloService {
  clientOptions() {
    return {
      link: this.link(),
      cache: this.cache(),
      resolvers: {
        MyType: {
          myData: (parent, args, obj) => {
            return "data";
          }
        }
      },
      typeDefs: types // If you need to extend somethings
    };
  }
}

Then, you need to set the service when you create a queryManager:

export default Route.extend({
  apollo: queryManager({ service: "overriddenApolloService" }),
  
  // your route
}); 

adrienbaudhuin avatar Mar 05 '20 09:03 adrienbaudhuin

Does MyType already have to exist in the schema? Or can that be a new type?

knownasilya avatar May 19 '20 14:05 knownasilya