Configurar o plugin
Configurar o pluginExplorar, ativar e desativar módulos

Explorar, ativar e desativar módulos

Todas as funcionalidades do Gato GraphQL são fornecidas por meio de módulos. Acesse-os clicando em "Modules" no menu do plugin:

Modules

Cada módulo pode ser ativado ou desativado. Seu estado é visível na tabela:

  • Módulos ativados têm um fundo colorido
  • Módulos desativados têm um fundo branco

Ativar/desativar um módulo

Ao passar o mouse sobre o nome de um módulo desativado, um link "Enable" ficará visível. Clicar nele ativará o módulo:

Ativando um módulo

Da mesma forma, ao passar o mouse sobre o nome de um módulo ativado, um link "Disable" ficará visível. Clicar nele desativará o módulo.

Em lote

Como alternativa, podemos selecionar a caixa de seleção de cada módulo e escolher "Enable" ou "Disable" no menu suspenso "Bulk actions":

Desativando módulos em lote

Desativar módulos nos endpoints públicos e privados

Desativar módulos nos permite remover algumas funcionalidades do servidor GraphQL (por exemplo: o single endpoint), ou remover algum elemento do schema GraphQL (por exemplo: um tipo, um campo ou uma diretiva).

Os "módulos de schema" (Schema modules) são aqueles módulos que adicionam tipos/campos/diretivas ao schema GraphQL (encontrados nas categorias "Schema Type" e "Schema Directive" na página de módulos). Podemos aumentar a segurança da API GraphQL desativando todos os "Schema modules" que não são necessários, já que os dados que não devem ser consumidos nunca são expostos.

Por exemplo, ao desativar o módulo "Users", os campos de usuário (QueryRoot.users, Post.author, e outros) serão removidos do schema GraphQL.

Dessa forma, desativar endpoints (conforme explicado na seção anterior) sempre tem efeito nos endpoints públicos:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

No entanto, pode ser que queiramos limitar o acesso aos "Schema modules" apenas para visitantes (ou seja, nos endpoints públicos), mas não para o administrador do site nos endpoints privados, para não restringir a capacidade de acessar o schema GraphQL completo para executar tarefas internas.

Os endpoints privados são:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (que alimenta os clientes GraphiQL e Interactive Schema do administrador, e pode ser invocado no editor do WordPress para fornecer dados a blocos)
  • Custom private endpoints (também usados para fornecer dados a blocos, mas permitindo travar sua configuração via hooks PHP)
  • Queries GraphQL executadas internamente (via classe GraphQLServer em PHP)

Para que os "Schema modules" também sejam desativados nos endpoints privados, devemos configurá-lo na aba "Plugin Configuration > Private Endpoints" na página de configurações, marcando o item "Disable "Schema modules" in the private endpoints?"

Desativando módulos em lote

Dependências entre módulos

Cada módulo pode ter uma dependência de outro módulo. Nesse caso, se o módulo do qual ele depende for desativado, seus dependentes também serão desativados.

Essa informação é visível na coluna "Depends on" da tabela de módulos:

Dependências entre módulos

Por exemplo, se o módulo "Schema Configuration" for desativado, o módulo "Schema Namespacing" também será desativado.

Filtrar módulos

Os módulos são agrupados por categorias:

  • Plugin Management
  • Endpoint
  • Schema Configuration
  • Access Control
  • Versioning
  • User Interface
  • Performance
  • Operational
  • Client
  • Schema Type

Clicar em qualquer categoria exibirá apenas os módulos correspondentes.

Filtrando módulos

Visualizar a documentação de um módulo

Podemos ler a documentação de um módulo clicando no link "View details" abaixo da descrição do módulo:

Visualizando a documentação do módulo

Acessar as configurações de um módulo

Ao passar o mouse sobre o nome do módulo, um link "Settings" ficará visível (a menos que o módulo não tenha configurações).

Clicar nele abrirá a página de configurações, focada na aba do módulo:

Acessando as configurações de um módulo