Configurar el plugin
Configurar el pluginActivar la edición de bajo nivel de las persisted queries

Activar la edición de bajo nivel de las persisted queries

En GraphQL, las directivas son funciones que permiten modificar el resultado de un campo. Por ejemplo, una directiva @strUpperCase transformará el valor del campo a formato mayúsculas.

Hay 2 tipos de directivas: las que se aplican al esquema y se ejecutan siempre, en cada consulta; y las que se aplican a la consulta, por parte del usuario o de la aplicación del lado cliente.

Gato GraphQL implementa gran cantidad de funcionalidades mediante directivas a aplicar al esquema. Las directivas correspondientes se añaden a la consulta a través de alguna interfaz de usuario.

Es el caso, por ejemplo, de proporcionar Cache Control y Access Control. Cache Control funciona aplicando la directiva @cacheControl al esquema, y se gestiona por el plugin a través de la interfaz de usuario de Cache Control List:

Definición de una política de cache control

Algunos ejemplos de directivas de tipo esquema que regulan Access Control son:

  • @disableAccess
  • @validateIsUserLoggedIn
  • @validateIsUserNotLoggedIn
  • @validateDoesLoggedInUserHaveAnyRole.
  • @validateDoesLoggedInUserHaveAnyCapability

Activar la edición de bajo nivel

El módulo "Low-Level Persisted Query Editing" está desactivado por defecto. Cuando se activa, todas las directivas a aplicar al esquema quedan disponibles en el editor GraphiQL al editar persisted queries.

Directivas de tipo esquema

De este modo, podemos añadir las directivas de tipo esquema directamente en la consulta GraphQL al editar la persisted query, y omitir la interfaz de usuario.

Por ejemplo, definir Cache Control puede hacerse directamente en la persisted query, estableciendo la directiva @cacheControl con el argumento maxAge en el campo:

Directivas de tipo esquema disponibles en el editor de Persisted queries