パーシステッドクエリの低レベル編集を有効にする
GraphQLでは、ディレクティブはフィールドの結果を変更できる関数です。たとえば、@strUpperCase ディレクティブはフィールドの値を大文字形式に変換します。
ディレクティブには2種類あります。スキーマに適用されてすべてのクエリで常に実行されるものと、クライアント側でユーザーやアプリケーションによってクエリに適用されるものです。
Gato GraphQLは、スキーマに適用されるディレクティブを通じて多くの機能を実装しています。対応するディレクティブは、何らかのユーザーインターフェースを介してクエリに追加されます。
たとえば、Cache ControlとAccess Controlの提供がその例です。Cache Controlは、スキーマに @cacheControl ディレクティブを適用することで機能し、プラグインがCache Control Listユーザーインターフェースを通じて管理します。

Access Controlを制御するスキーマ型ディレクティブの例をいくつか示します。
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability
低レベル編集を有効にする
「Low-Level Persisted Query Editing」モジュールはデフォルトで無効になっています。有効にすると、パーシステッドクエリを編集する際に、スキーマに適用されるすべてのディレクティブがGraphiQLエディタで利用可能になります。

これにより、パーシステッドクエリを編集する際に、GraphQLクエリ内でスキーマ型ディレクティブを直接追加し、ユーザーインターフェースを省略することができます。
たとえば、Cache Controlの定義は、フィールドに maxAge 引数を持つ @cacheControl ディレクティブを設定することで、パーシステッドクエリ内で直接行うことができます。
