การตั้งค่าปลั๊กอิน
การตั้งค่าปลั๊กอินการลบ type ออกจาก schema

การลบ type ออกจาก schema

มีสองวิธีในการลบ type ออกจาก schema:

  1. ในทุก endpoint โดยการปิดใช้งานโมดูล "schema type" ที่เกี่ยวข้อง
  2. ใน endpoint ที่ระบุ โดยการปิดการเข้าถึง connection field ที่เกี่ยวข้อง

1. การปิดใช้งาน type สำหรับทุก endpoint

(สามารถทำได้ด้วย plugin มาตรฐาน ไม่จำเป็นต้องใช้ extension)

เช่นเดียวกับฟังก์ชันการทำงาน schema type ของ GraphQL ก็ถูกจัดเตรียมผ่านโมดูลเช่นกัน เมื่อเรียกดูโมดูลทั้งหมดในหน้า Modules เราสามารถกรองโมดูลประเภท schema type ได้โดยคลิกที่หมวดหมู่ "Schema Type":

Schema type modules

หากต้องการลบ type ออกจาก schema ให้ปิดใช้งานโมดูลที่เกี่ยวข้อง ตามที่อธิบายไว้ในคู่มือ การเรียกดู เปิดใช้งาน และปิดใช้งานโมดูล

การดำเนินการนี้จะลบ type ออกจาก schema ทั้งหมด

ตัวอย่างเช่น หากเราไม่ต้องการความคิดเห็นบนเว็บไซต์ เราสามารถลบ type Comment ได้โดยการปิดใช้งานโมดูล "Comments"

2. การปิดใช้งาน type สำหรับ endpoint ที่ระบุ

เราสามารถลบ schema type ได้ด้วยการปิดการเข้าถึงฟิลด์ทั้งหมดที่คืนค่า type นั้น โดยเราต้องเพิ่มกฎการควบคุมการเข้าถึง "Disable access" สำหรับ field ใน access control list (ACL) ทำให้เป็น private และกำหนด ACL นั้นให้กับ schema configuration ที่เกี่ยวข้อง

การดำเนินการนี้จะลบ type เฉพาะจาก schema ที่เลือกเท่านั้น

ตัวอย่างเช่น หากเราไม่ต้องการความคิดเห็นบนเว็บไซต์ เราสามารถลบ type Comment ได้โดยการปิดการเข้าถึงฟิลด์ทั้งหมดจาก interface Commentable (ซึ่ง type ทั้งหมดที่มีความคิดเห็น เช่น Post, Page, CustomPost เป็นต้น ได้ implement ไว้)