Настройка плагина
Настройка плагинаПросмотр, включение и отключение модулей

Просмотр, включение и отключение модулей

Весь функционал 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" (если у модуля есть настройки).

Нажав на неё, откроется страница настроек с фокусом на вкладке этого модуля:

Доступ к настройкам модуля