⚡️ Pro Feature ⚡️ This feature is bundled with GraphQL-Pro.
To use persisted queries with your client application, you must:
OperationStore
, as described in Getting Startedparams[:operationId]
from the client appThis documentation also touches on graphql-ruby-client sync, a JavaScript client library for using OperationStore
.
Clients are registered via the dashboard:
/operation_store/add_a_client.png
A default secret
is provided for you, but you can also enter your own. The secret
is used for HMAC authentication.
(Are you interested in a Ruby API for this? Please open an issue or email support@graphql.pro
.)
Once a client is registered, it can push queries to the server via the Sync API.
The easiest way to sync is with graphql-ruby-client sync
, a command-line tool written in JavaScript (Sync Guide)
In short, it:
.graphql
files or relay-compiler
output in the provided --path
--client
and --secret
--url
--outfile
For example:
/operation_store/sync_example.png
For help syncing in another language, you can take inspiration from the JavaScript implementation, open an issue, or email support@graphql.pro
.
See the Sync Guide for using OperationStore with Relay Modern, Apollo 1.x, Apollo Link, or plain JavaScript.
To run stored operations from another client, send a param called operationId
which is composed of:
{
# ...
operationId: "my-relay-app/ce79aa2784fc..."
# ^ client id / ^ operation id
}
The server will use those values to fetch an operation from the database.
Learn more about OperationStore
’s authentication%20or%20read%20some%20tips%20for%20%5Bserver%20management%5D(/operation_store/server_management).