Pengeditan Persisted Query Tingkat Rendah
Membuat direktif yang biasanya tersembunyi (yang menyuntikkan fungsionalitas ke server GraphQL) terlihat saat mengedit persisted query.
Deskripsi
Dalam GraphQL, direktif adalah fungsi yang memungkinkan modifikasi hasil dari sebuah field. Misalnya, direktif @strUpperCase akan mengubah nilai field menjadi format huruf besar.
Ada 2 jenis direktif: yang diterapkan pada skema dan selalu dieksekusi, pada setiap query; dan yang diterapkan pada query, oleh pengguna atau aplikasi di sisi klien.
Dalam Gato GraphQL, banyak fungsionalitas yang terlibat saat menyelesaikan query dieksekusi melalui direktif yang diterapkan pada skema.
Misalnya, Cache Control bekerja dengan menerapkan direktif @cacheControl pada skema. Konfigurasi ini secara default tersembunyi, dan dilakukan oleh plugin melalui antarmuka pengguna:

Demikian pula, direktif-direktif ini menyediakan Kontrol Akses untuk field (dan direktif serupa menyediakan Kontrol Akses untuk direktif):
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability@validateDoesVisitorComeFromAnyAllowedIP@validateDoesVisitorNotComeFromAnyDeniedIP
Ekstensi Low-Level Persisted Query Editing ini membuat semua direktif yang diterapkan pada skema tersedia di editor GraphiQL saat mengedit persisted queries, memungkinkan Anda untuk menghindari antarmuka pengguna dan menambahkan direktif bertipe skema langsung dalam persisted query.

Sebagai contoh, mendefinisikan Cache Control kemudian dapat dilakukan langsung dalam persisted query, dengan menetapkan direktif @cacheControl dengan argumen maxAge pada field; atau Kontrol Akses dapat didefinisikan langsung, dengan menambahkan direktif @validate... yang sesuai langsung pada field:
