Cấu hình plugin
Cấu hình pluginXóa các kiểu khỏi schema

Xóa các kiểu khỏi schema

Có hai cách để xóa các kiểu khỏi schema:

  1. Trong tất cả các endpoint, bằng cách vô hiệu hóa module "schema type" tương ứng
  2. Trong các endpoint cụ thể, bằng cách vô hiệu hóa quyền truy cập vào các trường kết nối tương ứng

1. Vô hiệu hóa các kiểu cho tất cả các endpoint

(Điều này có thể thực hiện bằng plugin tiêu chuẩn, không cần extension.)

Tương tự như chức năng, các kiểu schema GraphQL được cung cấp thông qua các module. Khi duyệt qua tất cả các module trong trang Modules, chúng ta có thể lọc các module kiểu schema bằng cách nhấp vào danh mục "Schema Type":

Các module kiểu schema

Để xóa một kiểu khỏi schema, chúng ta vô hiệu hóa module tương ứng, như được giải thích trong hướng dẫn Duyệt, bật và tắt các module.

Điều này sẽ xóa kiểu đó khỏi tất cả các schema.

Ví dụ: nếu chúng ta không cần bình luận trên trang web, chúng ta có thể xóa kiểu Comment bằng cách vô hiệu hóa module "Comments".

2. Vô hiệu hóa các kiểu cho một endpoint cụ thể

Chúng ta cũng có thể xóa một kiểu schema bằng cách vô hiệu hóa quyền truy cập vào tất cả các trường trả về kiểu đó. Để thực hiện điều này, chúng ta phải thêm quy tắc kiểm soát truy cập "Disable access" cho trường đó trong một danh sách kiểm soát truy cập (ACL), đặt nó ở chế độ private và gán ACL cho cấu hình schema tương ứng.

Điều này sẽ chỉ xóa kiểu đó khỏi các schema được chọn.

Ví dụ: nếu chúng ta không cần bình luận trên trang web, chúng ta có thể xóa kiểu Comment bằng cách vô hiệu hóa quyền truy cập vào tất cả các trường từ interface Commentable (được triển khai bởi tất cả các kiểu có bình luận, chẳng hạn như Post, Page, CustomPost, v.v.).