Activer l'édition bas niveau des persisted queries
En GraphQL, les directives sont des fonctions qui permettent de modifier le résultat d'un champ. Par exemple, une directive @strUpperCase transformera la valeur du champ en majuscules.
Il existe 2 types de directives : celles qui s'appliquent au schéma et s'exécutent toujours, à chaque requête ; et celles qui s'appliquent à la requête, par l'utilisateur ou l'application côté client.
Gato GraphQL implémente de nombreuses fonctionnalités via des directives à appliquer au schéma. Les directives correspondantes sont ajoutées à la requête via une interface utilisateur.
C'est le cas, par exemple, du Cache Control et de l'Access Control. Le Cache Control fonctionne en appliquant la directive @cacheControl au schéma, et est géré par le plugin via l'interface utilisateur de Cache Control List :

Quelques exemples de directives de type schéma qui régulent l'Access Control :
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability
Activer l'édition bas niveau
Le module "Low-Level Persisted Query Editing" est désactivé par défaut. Lorsqu'il est activé, toutes les directives à appliquer au schéma deviennent disponibles dans l'éditeur GraphiQL lors de la modification des persisted queries.

De cette façon, nous pouvons ajouter les directives de type schéma directement dans la requête GraphQL lors de la modification de la persisted query, et contourner l'interface utilisateur.
Par exemple, définir le Cache Control peut être fait directement dans la persisted query, en définissant la directive @cacheControl avec l'argument maxAge sur le champ :
