Kích hoạt chỉnh sửa cấp thấp của persisted queries
Trong GraphQL, các directive là các hàm cho phép sửa đổi kết quả từ một trường. Ví dụ, directive @strUpperCase sẽ chuyển đổi giá trị của trường sang định dạng chữ hoa.
Có 2 loại directive: những directive được áp dụng cho schema và luôn được thực thi trên mọi query; và những directive được áp dụng cho query, bởi người dùng hoặc ứng dụng phía client.
Gato GraphQL triển khai nhiều chức năng thông qua các directive được áp dụng cho schema. Các directive tương ứng được thêm vào query thông qua một giao diện người dùng.
Đó là trường hợp, ví dụ, với Cache Control và Access Control. Cache Control hoạt động bằng cách áp dụng directive @cacheControl lên schema, và được plugin thực hiện thông qua giao diện người dùng Cache Control List:

Một số ví dụ về các directive kiểu schema điều chỉnh Access Control:
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability
Kích hoạt chỉnh sửa cấp thấp
Module "Low-Level Persisted Query Editing" bị tắt theo mặc định. Khi được bật, tất cả các directive được áp dụng cho schema sẽ khả dụng trong trình soạn thảo GraphiQL khi chỉnh sửa persisted queries.

Bằng cách này, bạn có thể thêm các directive kiểu schema trực tiếp vào GraphQL query khi chỉnh sửa persisted query, và bỏ qua giao diện người dùng.
Ví dụ, việc xác định Cache Control có thể được thực hiện trực tiếp trong persisted query, bằng cách thiết lập directive @cacheControl với đối số maxAge trên trường:
