Pular para conteúdo

Fluxos funcionais do Core

O Core mantém Gateways, rotas e suas revisões por tenant. Esta seção cobre 51 operações HTTP em nove controllers, organizadas em 26 páginas de fluxos e subfluxos. As chamadas administrativas partem da fronteira HTTP do BFF; consumidores internos aparecem diretamente quando esse é o caminho implementado.

Para começar: cadastro de Gateway → categoria → cadastro e edição de rota → preparação da rota → publicação do Gateway.

Gateways

Revisões e publicação

Rotas e organização

Políticas e referências

Catálogo e instâncias

Consumidores internos e efeitos

Como ler os fluxos

O BFF valida JWT e acesso ao aplicativo, resolve o tenant a partir de companyId e propaga x-tenant-id. Chamadas internas usam o tenant informado pelo consumidor. Isso não equivale, por si só, a autorização por recurso. As lifelines representam serviços; notas de subfluxo remetem às páginas vinculadas no texto, que detalham seus participantes. Blocos opt são condicionais; validadores CDI não têm uma ordem garantida. Uma resposta HTTP não aguarda os consumidores do Outbox, que podem executar concorrentemente à entrega dessa resposta.

Arquitetura lógica, BFF, modelos do Core e versionamento complementam os diagramas sem duplicar contratos e campos.

Cobertura das operações

O inventário abaixo usa os paths do Core, incluindo o prefixo /core. Os paths do BFF podem diferir: publicação/restauração de Gateway usam revision no singular e preparação de rota usa complete/uncomplete. Os GETs por estado e os endpoints de instanciação/upgrade incluem consumidores internos, sem pressupor uma tela correspondente.

Inventário completo: controller, método HTTP e fluxo
Controller / método Operação Core Fluxo
AuthorizationController.getUsageCount GET /core/api/v1/authorizations/{authorizationId}/usage-count Políticas, herança e contagem de vínculos
CatalogController.favorite PUT /core/v1/catalog/{catalogItemId}/favorite Favoritos e aquisições do catálogo
CatalogController.unfavorite DELETE /core/v1/catalog/{catalogItemId}/favorite Favoritos e aquisições do catálogo
CatalogController.states POST /core/v1/catalog/items/state Favoritos e aquisições do catálogo
CategoryController.create POST /core/api/v1/gateways/{gatewayId}/categories Organização de rotas em categorias
CategoryController.update PATCH /core/api/v1/gateways/{gatewayId}/categories/{id} Organização de rotas em categorias
CategoryController.findByGatewayId GET /core/api/v1/gateways/{gatewayId}/categories Organização de rotas em categorias
CategoryController.delete DELETE /core/api/v1/gateways/{gatewayId}/categories/{id} Organização de rotas em categorias
DiscoveryController.discover GET /core/api/v1/discovery Leituras do Core durante a execução
DocumentationController.getGatewayDocumentation GET /core/api/v1/gateways/{gatewayId}/openapi-model Eventos do Core e atualização da documentação OpenAPI
GatewayController.create POST /core/api/v1/gateways Cadastro manual de Gateway
GatewayController.createFromTemplate POST /core/api/v1/gateways/from-template Instanciação de Gateway a partir de catálogo
GatewayController.editGateway PATCH /core/api/v1/gateways/{id} Edição de Gateway e criação de rascunho
GatewayController.editGatewayFromTemplateInstantiation PATCH /core/api/v1/gateways/{id}/template-instantiation Edição de Gateway e criação de rascunho
GatewayController.setEnabled POST /core/api/v1/gateways/{id}/enabled Habilitação e favoritos de Gateway
GatewayController.favorite POST /core/api/v1/gateways/{id}/favorite Habilitação e favoritos de Gateway
GatewayController.unfavorite POST /core/api/v1/gateways/{id}/unfavorite Habilitação e favoritos de Gateway
GatewayController.getWizard GET /core/api/v1/gateways/{gatewayId}/wizard Consulta e preenchimento do wizard
GatewayController.patchWizard PATCH /core/api/v1/gateways/{gatewayId}/wizard Consulta e preenchimento do wizard
GatewayController.delete DELETE /core/api/v1/gateways/{id} Exclusão de Gateway
GatewayController.forceDelete DELETE /core/api/v1/gateways/{id}/force Exclusão de Gateway
GatewayController.findById GET /core/api/v1/gateways/{id} Consulta de Gateways e revisões
GatewayController.find GET /core/api/v1/gateways Consulta de Gateways e revisões
GatewayController.listRevisions GET /core/api/v1/gateways/{gatewayId}/revisions Consulta de Gateways e revisões
GatewayController.getRevision GET /core/api/v1/gateways/{gatewayId}/revisions/{revisionId} Consulta de Gateways e revisões
GatewayController.getActiveRevision GET /core/api/v1/gateways/{gatewayId}/revisions/active Consulta de Gateways e revisões
GatewayController.getDraftRevision GET /core/api/v1/gateways/{gatewayId}/revisions/draft Consulta de Gateways e revisões
GatewayController.promoteRevision POST /core/api/v1/gateways/{gatewayId}/revisions/{revisionId}/promote Publicação de Gateway e rotas
GatewayController.rollbackRevision POST /core/api/v1/gateways/{gatewayId}/revisions/{revisionId}/rollback Restauração de uma versão do Gateway
RouteController.create POST /core/api/v1/gateways/{gatewayId}/routes Cadastro de rota
RouteController.patch PATCH /core/api/v1/gateways/{gatewayId}/routes/{id} Edição da configuração de rota
RouteController.patchFromTemplateInstantiation PATCH /core/api/v1/gateways/{gatewayId}/routes/{id}/template-instantiation Edição da configuração de rota
RouteController.delete DELETE /core/api/v1/gateways/{gatewayId}/routes/{id} Disponibilidade e exclusão de rota
RouteController.findById GET /core/api/v1/gateways/{gatewayId}/routes/{id} Consulta de rotas e histórico
RouteController.find GET /core/api/v1/gateways/{gatewayId}/routes Consulta de rotas e histórico
RouteController.listRevisions GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions Consulta de rotas e histórico
RouteController.getRevision GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId} Consulta de rotas e histórico
RouteController.getActiveRevision GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/active Leituras do Core durante a execução
RouteController.getDraftRevision GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/draft Consulta de rotas e histórico
RouteController.getPublishableRevision GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/publishable Consulta de rotas e histórico
RouteController.setEnabled POST /core/api/v1/gateways/{gatewayId}/routes/{id}/enabled Disponibilidade e exclusão de rota
RouteController.markAsPublishable POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/mark-publishable Preparação e retirada de rota da publicação
RouteController.unmarkPublishable POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/unmark-publishable Preparação e retirada de rota da publicação
RouteController.rollbackRevision POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId}/rollback Restauração de revisão de rota
RouteController.deleteResponseById DELETE /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId}/responses/{responseId} Remoção de um mapeamento de resposta
RouteQueryController.countByRateLimit POST /core/api/v1/routes/count-by-rate-limit Políticas, herança e contagem de vínculos
RouteQueryController.countByIpPolicy POST /core/api/v1/routes/count-by-ip-policy Políticas, herança e contagem de vínculos
TemplateUpgradeController.context GET /core/api/v1/gateways/{gatewayId}/template-upgrade/context Atualização da versão de template da instância
TemplateUpgradeController.validate POST /core/api/v1/gateways/{gatewayId}/template-upgrade/validate Atualização da versão de template da instância
TemplateUpgradeController.prepare POST /core/api/v1/gateways/{gatewayId}/template-upgrade/prepare Atualização da versão de template da instância
TemplateUpgradeController.apply POST /core/api/v1/gateways/{gatewayId}/template-upgrade/{operationId}/apply Atualização da versão de template da instância

Limites funcionais

Todas as operações expostas pelos controllers do Core estão mapeadas acima. Consultas simples e controles de flags foram agrupados; não há páginas vazias por endpoint. Não foi encontrado endpoint de descontinuação explícita de Gateway nem de promoção individual de rota a ACTIVE. DEPRECATED decorre das transições e ACTIVE das rotas decorre da publicação do Gateway.

O cliente administrativo disponível confirma as entradas usuais de Gateways, rotas, categorias, catálogo e wizard. Ele permanece um ator externo, sem documentação de implementação frontend. A chamada de promoção individual de rota presente em seu código não tem endpoint correspondente no BFF/Core analisados; o caminho documentado é concluir a rota e publicar o Gateway. Operações internas, v2 de variáveis e chamadas de bibliotecas não são apresentadas como ações de tela confirmadas.

As páginas de importação, templates e projeção OpenAPI delimitam a colaboração com o Core; autoria de templates, execução completa do Data Plane e operação interna dos demais microserviços permanecem fora desta etapa.

Base de código e testes consultados

Análise estática do checkout em 2026-10-19: Core 4138c75, BFF 4c0161a, Template Service 83981db, Importer b682c98, Discovery 0f962a2, Builder fe44ac9, Outbox Dispatcher e46f47d e OpenAPI Doc 7088f47. Os serviços foram mantidos somente para leitura. Referências de implementação estão recolhidas ao fim de cada página.

Os testes foram consultados como evidência, sem execução de serviços, chamadas de escrita ou testes que alterem ambientes.