Module durchsuchen, aktivieren und deaktivieren
Alle Funktionen von Gato GraphQL werden über Module bereitgestellt. Du kannst sie aufrufen, indem du im Menü des Plugins auf "Modules" klickst:

Jedes Modul kann entweder aktiviert oder deaktiviert werden. Der Status ist in der Tabelle sichtbar:
- Aktivierte Module haben einen farbigen Hintergrund
- Deaktivierte Module haben einen weißen Hintergrund
Ein Modul aktivieren/deaktivieren
Wenn du mit der Maus über den Namen eines deaktivierten Moduls fährst, wird ein Link "Enable" sichtbar. Ein Klick darauf aktiviert das Modul:

Entsprechend wird beim Überfahren des Namens eines aktivierten Moduls ein Link "Disable" sichtbar. Ein Klick darauf deaktiviert das Modul.
Stapelweise
Alternativ kannst du die Checkbox jedes Moduls auswählen und "Enable" oder "Disable" aus dem Dropdown "Bulk actions" wählen:

Module in öffentlichen und privaten Endpunkten deaktivieren
Das Deaktivieren von Modulen ermöglicht es uns, entweder einige Funktionen vom GraphQL-Server zu entfernen (z. B. den Single Endpoint) oder ein Element aus dem GraphQL-Schema zu entfernen (z. B. einen Typ, ein Feld oder eine Direktive).
"Schema-Module" sind jene Module, die Typen/Felder/Direktiven zum GraphQL-Schema hinzufügen (zu finden unter den Kategorien "Schema Type" und "Schema Directive" auf der Modules-Seite). Wir können die Sicherheit der GraphQL-API erhöhen, indem wir alle nicht benötigten "Schema-Module" deaktivieren, da Daten, die nicht abgerufen werden sollen, von vornherein nie im Schema erscheinen.
Wenn du beispielsweise das Modul "Users" deaktivierst, werden die Benutzerfelder (QueryRoot.users, Post.author und weitere) aus dem GraphQL-Schema entfernt.
Daher wirkt das Deaktivieren von Endpunkten (wie im vorherigen Abschnitt erläutert) immer auf die öffentlichen Endpunkte:
- Single endpoint
- Custom endpoints
- Persisted queries
Möglicherweise möchten wir jedoch den Zugriff auf die "Schema-Module" nur für Besucher einschränken (d. h. auf öffentlichen Endpunkten), nicht aber für den Administrator der Website auf privaten Endpunkten, um dessen Möglichkeit, das vollständige GraphQL-Schema für interne Aufgaben zu nutzen, nicht einzuschränken.
Die privaten Endpunkte sind:
- Endpunkt
wp-admin/edit.php?page=graphql_api&action=run_query(der die GraphiQL- und Interactive-Schema-Clients des Admins betreibt und im WordPress-Editor aufgerufen werden kann, um Daten an Blöcke zu liefern) - Custom private endpoints (ebenfalls zum Liefern von Daten an Blöcke, ermöglichen aber das Sperren der Konfiguration über PHP-Hooks)
- GraphQL queries, die intern ausgeführt werden (über die Klasse
GraphQLServerin PHP)
Damit die "Schema-Module" auch auf den privaten Endpunkten deaktiviert werden, müssen wir dies auf der Einstellungsseite unter dem Reiter "Plugin Configuration > Private Endpoints" konfigurieren, indem wir den Punkt "Disable "Schema modules" in the private endpoints?" aktivieren.

Modulabhängigkeiten
Jedes Modul kann von einem anderen Modul abhängen. Wenn das Modul, von dem es abhängt, deaktiviert wird, werden auch die abhängigen Module deaktiviert.
Diese Information ist in der Spalte "Depends on" der Modultabelle sichtbar:

Wenn beispielsweise das Modul "Schema Configuration" deaktiviert wird, wird auch das Modul "Schema Namespacing" deaktiviert.
Module filtern
Module sind nach Kategorien gruppiert:
- Plugin Management
- Endpoint
- Schema Configuration
- Access Control
- Versioning
- User Interface
- Performance
- Operational
- Client
- Schema Type
Ein Klick auf eine beliebige Kategorie zeigt nur die entsprechenden Module an.

Die Dokumentation eines Moduls aufrufen
Du kannst die Dokumentation eines Moduls lesen, indem du auf den Link "View details" unterhalb der Modulbeschreibung klickst:

Die Einstellungen eines Moduls aufrufen
Wenn du mit der Maus über den Namen des Moduls fährst, wird ein Link "Settings" sichtbar (sofern das Modul Einstellungen hat).
Ein Klick darauf öffnet die Einstellungsseite, die auf den Reiter des Moduls fokussiert ist:
