Просмотр, включение и отключение модулей
Весь функционал Gato GraphQL предоставляется через модули. Получить к ним доступ можно, нажав на «Modules» в меню плагина:

Каждый модуль можно либо включить, либо отключить. Их состояние отображается в таблице:
- Включённые модули имеют цветной фон
- Отключённые модули имеют белый фон
Включение/отключение модуля
При наведении курсора мыши на название отключённого модуля появится ссылка "Enable". Нажав на неё, можно включить модуль:

Аналогично, при наведении курсора на название включённого модуля появится ссылка "Disable". Нажав на неё, можно отключить модуль.
Пакетное управление
Также можно установить флажки для нескольких модулей и выбрать "Enable" или "Disable" из выпадающего меню «Bulk actions»:

Отключение модулей в публичных и приватных endpoints
Отключение модулей позволяет либо убрать часть функционала с сервера GraphQL (например, single endpoint), либо удалить элемент из схемы GraphQL (например, тип, поле или директиву).
«Модули схемы» (Schema modules) — это модули, добавляющие типы/поля/директивы в схему GraphQL (они находятся в категориях «Schema Type» и «Schema Directive» на странице Modules). Мы можем повысить безопасность GraphQL API, отключив все «Schema modules», которые не нужны: данные, которые не должны быть доступны, никогда не будут раскрыты изначально.
Например, при отключении модуля «Users» пользовательские поля (QueryRoot.users, Post.author и другие) будут удалены из схемы GraphQL.
Таким образом, отключение endpoints (как описано в предыдущем разделе) всегда применяется к публичным endpoints:
- Single endpoint
- Custom endpoints
- Persisted queries
Однако нам может потребоваться ограничить доступ к «Schema modules» только для посетителей (то есть на публичных endpoints), но не для администратора сайта на приватных endpoints — чтобы не ограничивать возможность доступа к полной схеме GraphQL при выполнении внутренних задач.
Приватные endpoints:
- Endpoint
wp-admin/edit.php?page=graphql_api&action=run_query(который обслуживает клиенты GraphiQL и Interactive Schema для администратора, и может вызываться в редакторе WordPress для передачи данных в блоки) - Custom private endpoints (также используются для передачи данных в блоки, но позволяют заблокировать конфигурацию через PHP-хуки)
- Запросы GraphQL, выполняемые внутренне (через класс
GraphQLServerв PHP)
Чтобы «Schema modules» также отключались на приватных endpoints, необходимо настроить это на вкладке «Plugin Configuration > Private Endpoints» на странице настроек, установив флажок «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" (если у модуля есть настройки).
Нажав на неё, откроется страница настроек с фокусом на вкладке этого модуля:
