การเรียกดู การเปิดใช้งาน และการปิดใช้งานโมดูล
ฟังก์ชันทั้งหมดใน Gato GraphQL ถูกจัดเตรียมผ่านโมดูล เข้าถึงได้โดยคลิกที่ "Modules" ในเมนูของปลั๊กอิน:

โมดูลแต่ละตัวสามารถเปิดหรือปิดใช้งานได้ สถานะของโมดูลจะแสดงในตาราง:
- โมดูลที่เปิดใช้งานจะมีพื้นหลังสี
- โมดูลที่ปิดใช้งานจะมีพื้นหลังสีขาว
การเปิด/ปิดใช้งานโมดูล
เมื่อวางเมาส์เหนือชื่อของโมดูลที่ปิดใช้งานอยู่ ลิงก์ "Enable" จะปรากฏขึ้น การคลิกจะเปิดใช้งานโมดูลนั้น:

ในทำนองเดียวกัน เมื่อวางเมาส์เหนือชื่อของโมดูลที่เปิดใช้งานอยู่ ลิงก์ "Disable" จะปรากฏขึ้น การคลิกจะปิดใช้งานโมดูลนั้น
แบบกลุ่ม
นอกจากนี้ เราสามารถเลือกช่องทำเครื่องหมายสำหรับทุกโมดูล แล้วเลือก "Enable" หรือ "Disable" จากดรอปดาวน์ "Bulk actions":

การปิดใช้งานโมดูลใน public และ private endpoints
การปิดใช้งานโมดูลช่วยให้เราสามารถลบฟังก์ชันบางอย่างออกจาก GraphQL server (เช่น single endpoint) หรือลบองค์ประกอบบางอย่างออกจาก GraphQL schema (เช่น type, field หรือ directive)
"Schema modules" คือโมดูลที่เพิ่ม types/fields/directives เข้าไปใน GraphQL schema (พบได้ภายใต้หมวดหมู่ "Schema Type" และ "Schema Directive" ในหน้า Modules) เราสามารถเพิ่มความปลอดภัยของ GraphQL API ได้โดยการปิดใช้งาน "Schema modules" ทั้งหมดที่ไม่จำเป็น เนื่องจากข้อมูลที่ไม่ควรถูกเรียกใช้จะไม่ถูกเปิดเผยตั้งแต่แรก
ตัวอย่างเช่น เมื่อปิดใช้งานโมดูล "Users" ฟิลด์ผู้ใช้ (QueryRoot.users, Post.author และอื่นๆ) จะถูกลบออกจาก GraphQL schema
ดังนั้น การปิดใช้งาน endpoints (ตามที่อธิบายในส่วนก่อนหน้า) จะมีผลกับ public endpoints เสมอ:
- Single endpoint
- Custom endpoints
- Persisted queries
อย่างไรก็ตาม เราอาจต้องการจำกัดการเข้าถึง "Schema modules" เฉพาะสำหรับผู้เยี่ยมชม (กล่าวคือบน public endpoints) แต่ไม่ใช่สำหรับผู้ดูแลระบบของเว็บไซต์บน private endpoints เพื่อไม่ให้จำกัดความสามารถในการเข้าถึง GraphQL schema เต็มรูปแบบสำหรับการดำเนินงานภายใน
Private endpoints ได้แก่:
- Endpoint
wp-admin/edit.php?page=graphql_api&action=run_query(ซึ่งขับเคลื่อน GraphiQL และ Interactive Schema clients ของผู้ดูแลระบบ และสามารถเรียกใช้ใน WordPress editor เพื่อส่งข้อมูลไปยังบล็อก) - Custom private endpoints (ใช้สำหรับส่งข้อมูลไปยังบล็อกเช่นกัน แต่ช่วยให้คุณล็อกการกำหนดค่าผ่าน PHP hooks ได้)
- GraphQL queries ที่ดำเนินการภายใน (ผ่านคลาส
GraphQLServerใน PHP)
เพื่อให้ "Schema modules" ถูกปิดใช้งานบน private endpoints ด้วย เราต้องกำหนดค่าในแท็บ "Plugin Configuration > Private Endpoints" ในหน้า Settings โดยทำเครื่องหมายที่รายการ "Disable "Schema modules" in the private endpoints?"

การอ้างอิงของโมดูล
โมดูลแต่ละตัวอาจมีการอ้างอิงต่อโมดูลอื่น ในกรณีนั้น หากโมดูลที่ถูกอ้างอิงถูกปิดใช้งาน โมดูลที่อ้างอิงมันก็จะถูกปิดใช้งานด้วย
ข้อมูลนี้จะแสดงในคอลัมน์ "Depends on" ในตารางโมดูล:

ตัวอย่างเช่น หากโมดูล "Schema Configuration" ถูกปิดใช้งาน โมดูล "Schema Namespacing" ก็จะถูกปิดใช้งานด้วย
การกรองโมดูล
โมดูลถูกจัดกลุ่มตามหมวดหมู่:
- Plugin Management
- Endpoint
- Schema Configuration
- Access Control
- Versioning
- User Interface
- Performance
- Operational
- Client
- Schema Type
การคลิกที่หมวดหมู่ใดก็ตาม จะแสดงเฉพาะโมดูลที่เกี่ยวข้อง

การดูเอกสารประกอบของโมดูล
เราสามารถอ่านเอกสารประกอบของโมดูลได้โดยคลิกที่ลิงก์ "View details" ใต้คำอธิบายของโมดูล:

การเข้าถึงการตั้งค่าของโมดูล
เมื่อวางเมาส์เหนือชื่อโมดูล ลิงก์ "Settings" จะปรากฏขึ้น (ยกเว้นกรณีที่โมดูลไม่มีการตั้งค่า)
การคลิกจะเปิดหน้า Settings โดยโฟกัสไปที่แท็บของโมดูลนั้น:
