Graphback provides out of the box subscriptions support by providing one of the
from https://github.com/apollographql/graphql-subscriptions library.
Developers can connect to any publish subscribe mechanism that is officially supported by graphql-subscriptions
or even write their own.
Graphback templates by default using
InMemoryPubSubEngine which is not designed to be used for production
We recomend following engines:
- AMQ (MQTT) using https://github.com/aerogear/graphql-mqtt-subscriptions
- Redis - using https://github.com/davidyaha/graphql-redis-subscriptions
Graphback provides subscriptions for every type of the operation that is happening on the server. This means that developers can explicitly subscribe to create, update and delete operations for particular resource.
Subscriptions can be also suppressed by developers by enabling or disabling subscription CRUD flags when initializing Graphback server
By default, Graphback uses an in-memory PubSub mechanism. You can configure your own in
buildGraphbackAPI through the
In this example, we are using a MQTT enabled broker with
In this example the default
createCRUDService service creator is used. There can be variations in how to configure your PubSub mechanism depending on what service creator you choose to use.
#Changing Subscription Topics
Some of the pub sub mechanism will require different format of the topic. Graphback CRUD services expose method that can be used to override how topics are build. For example for AMQ we can create extension of the CRUD service as follows
If you wish to use authorization mechanism you can try it on DataSync starter project