Explorer, activer et désactiver les modules
Toutes les fonctionnalités de Gato GraphQL sont fournies par des modules. Accédez-y en cliquant sur « Modules » dans le menu du plugin :

Chaque module peut être activé ou désactivé. Son état est visible dans le tableau :
- Les modules activés ont un fond coloré
- Les modules désactivés ont un fond blanc
Activer/désactiver un module
En passant la souris sur le nom d'un module désactivé, un lien "Enable" devient visible. En cliquant dessus, le module sera activé :

De même, en passant la souris sur le nom d'un module activé, un lien "Disable" devient visible. En cliquant dessus, le module sera désactivé.
Par lots
Alternativement, nous pouvons cocher la case de chaque module et sélectionner "Enable" ou "Disable" dans le menu déroulant « Bulk actions » :

Désactiver des modules dans les endpoints publics et privés
Désactiver des modules nous permet soit de supprimer certaines fonctionnalités du serveur GraphQL (p. ex. le single endpoint), soit de retirer un élément du schéma GraphQL (p. ex. un type, un champ ou une directive).
Les « modules de schéma » (Schema modules) sont ceux qui ajoutent des types/champs/directives au schéma GraphQL (à trouver dans les catégories « Schema Type » et « Schema Directive » sur la page des modules). Nous pouvons renforcer la sécurité de l'API GraphQL en désactivant tous les « Schema modules » inutiles, car les données qui ne doivent pas être consommées ne sont jamais exposées en premier lieu.
Par exemple, en désactivant le module « Users », les champs utilisateur (QueryRoot.users, Post.author, et autres) seront supprimés du schéma GraphQL.
Ainsi, désactiver des endpoints (comme expliqué dans la section précédente) prend toujours effet sur les endpoints publics :
- Single endpoint
- Custom endpoints
- Persisted queries
Cependant, nous pouvons ne vouloir limiter l'accès aux « Schema modules » qu'aux visiteurs (c'est-à-dire sur les endpoints publics), mais pas à l'administrateur du site sur les endpoints privés, afin de ne pas restreindre la possibilité d'accéder au schéma GraphQL complet pour exécuter des tâches internes.
Les endpoints privés sont :
- Endpoint
wp-admin/edit.php?page=graphql_api&action=run_query(qui alimente les clients GraphiQL et Interactive Schema de l'administrateur, et peut être invoqué dans l'éditeur WordPress pour alimenter les blocs en données) - Custom private endpoints (également utilisés pour alimenter les blocs en données, mais permettant de verrouiller leur configuration via des hooks PHP)
- Requêtes GraphQL exécutées en interne (via la classe
GraphQLServeren PHP)
Pour que les « Schema modules » soient également désactivés sur les endpoints privés, nous devons le configurer dans l'onglet « Plugin Configuration > Private Endpoints » sur la page des réglages, en cochant l'élément « Disable "Schema modules" in the private endpoints? »

Dépendances entre modules
Chaque module peut avoir une dépendance envers un autre module. Dans ce cas, si le module dont il dépend est désactivé, ses dépendants sont également désactivés.
Cette information est visible dans la colonne "Depends on" du tableau des modules :

Par exemple, si le module « Schema Configuration » est désactivé, le module « Schema Namespacing » sera également désactivé.
Filtrer les modules
Les modules sont regroupés par catégories :
- Plugin Management
- Endpoint
- Schema Configuration
- Access Control
- Versioning
- User Interface
- Performance
- Operational
- Client
- Schema Type
En cliquant sur n'importe quelle catégorie, seuls les modules correspondants seront affichés.

Consulter la documentation d'un module
Nous pouvons lire la documentation d'un module en cliquant sur le lien "View details" sous la description du module :

Accéder aux réglages d'un module
En passant la souris sur le nom du module, un lien "Settings" devient visible (sauf si le module n'a pas de réglages).
En cliquant dessus, la page des réglages s'ouvrira, centrée sur l'onglet du module :
