DataService
Used to interact with the Admin API via GraphQL queries. Internally this service uses the
Apollo Client, which means it maintains a normalized entity cache. For this reason, it is
advisable to always select the id field of any entity, which will allow the returned data
to be effectively cached.
query
(query: DocumentNode | TypedDocumentNode<T, V>, variables?: V, fetchPolicy: WatchQueryFetchPolicy = 'cache-and-network', options: ExtendedQueryOptions = {}) => QueryResult<T, V>Perform a GraphQL query. Returns a QueryResult which allows further control over they type of result returned, e.g. stream of values, single value etc.
Example
mutate
(mutation: DocumentNode | TypedDocumentNode<T, V>, variables?: V, update?: MutationUpdaterFunction<T, V, any, any>, options: ExtendedQueryOptions = {}) => Observable<T>Perform a GraphQL mutation.
Example
This class wraps the Apollo Angular QueryRef object and exposes some getters for convenience.
constructor
(queryRef: QueryRef<T, V>, apollo: Apollo, customFieldMap: Map<string, CustomFieldConfig[]>) => QueryResultrefetchOnChannelChange
() => QueryResult<T, V>Re-fetch this query whenever the active Channel changes.
refetchOnCustomFieldsChange
Re-fetch this query whenever the custom fields change, updating the query to include the specified custom fields.
single$
Observable<T>Returns an Observable which emits a single result and then completes.
stream$
Observable<T>Returns an Observable which emits until unsubscribed.
ref
QueryRef<T, V>mapSingle
(mapFn: (item: T) => R) => Observable<R>Returns a single-result Observable after applying the map function.
mapStream
(mapFn: (item: T) => R) => Observable<R>Returns a multiple-result Observable after applying the map function.
destroy
() => Signals to the internal Observable subscriptions that they should complete.