Whitelist antes da consulta
Campos aceitos vêm do Schema.describe; valores entram por bind e nomes desconhecidos são rejeitados.
Projeto demonstrativo 01 / 04
Pipeline geográfico · LWC + Apex
Um mapa interativo que transforma território, estágio e valor do pipeline em uma decisão visual sem abrir mão da segurança da consulta dinâmica.
Projetos demonstrativos, empresas e dados fictícios. Experiências profissionais reais não são publicadas por confidencialidade.
A solução
A interface agrupa oportunidades por conta, descobre multipicklists em runtime, salva combinações de filtros e solicita geocoding assíncrono somente quando necessário.
Arquitetura
Decisões centrais
Campos aceitos vêm do Schema.describe; valores entram por bind e nomes desconhecidos são rejeitados.
O mapa reduz ruído visual com clustering, cache por combinação e limite controlado de registros.
Um Queueable com callouts processa lotes e respeita cache para evitar chamadas repetidas.
Use os filtros e clique em uma conta para abrir suas oportunidades.
Clique numa conta no mapa para ver o painel completo de oportunidades.
Por dentro do projeto
As coordenadas usam os campos padrão da conta. Visualizações salvas guardam o conjunto de filtros como JSON, enquanto limiares visuais ficam em Custom Metadata.
A solução não depende de objetos artificiais para representar o pipeline: ela trabalha sobre Account, Opportunity e OpportunityLineItem.
As classes de produção usam sharing. A consulta principal roda com queryWithBinds em USER_MODE, e a gravação de visualizações respeita as permissões do usuário.
Multipicklists descobertas em runtime passam por whitelist; valores e literais recebem tratamentos diferentes para evitar injeção.
A demonstração reproduz o comportamento central: combinar filtros, atualizar o mapa e abrir o contexto da conta. Os dados são sintéticos e nenhuma org é acessada.