低レベルPersisted Queryの編集
Persisted Queryを編集する際に、通常は非表示のディレクティブ(GraphQLサーバーに機能を注入するもの)を表示します。
説明
GraphQLにおいて、ディレクティブはフィールドの結果を変更できる関数です。たとえば、@strUpperCase ディレクティブはフィールドの値を大文字形式に変換します。
ディレクティブには2種類あります。スキーマに適用され、すべてのクエリで常に実行されるものと、クライアント側でユーザーまたはアプリケーションによってクエリに適用されるものです。
Gato GraphQLでは、クエリを解決する際に関わる多くの機能が、スキーマに適用されたディレクティブを通じて実行されます。
たとえば、Cache Controlはスキーマに @cacheControl ディレクティブを適用することで機能します。この設定はデフォルトで非表示になっており、プラグインがユーザーインターフェースを通じて実行します。

同様に、以下のディレクティブはフィールドのアクセス制御を提供します(そして同様のディレクティブがディレクティブのアクセス制御を提供します)。
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability@validateDoesVisitorComeFromAnyAllowedIP@validateDoesVisitorNotComeFromAnyDeniedIP
この Low-Level Persisted Query Editing 拡張機能は、Persisted Queryを編集する際に、スキーマに適用されるすべてのディレクティブをGraphiQLエディターで利用できるようにします。これにより、ユーザーインターフェースを使わずに、スキーマタイプのディレクティブをPersisted Query内に直接追加できます。

たとえば、Cache Controlの定義はPersisted Query内で直接行うことができます。フィールドに maxAge 引数を持つ @cacheControl ディレクティブを設定するか、対応する @validate... ディレクティブをフィールドに直接追加することでアクセス制御を定義できます。
