Pular para o conteúdo principal

Feature Flags

Feature flags permitem ativar ou desativar funcionalidades experimentais para toda a empresa, sem alterar código.

Como acessar

Rota: /configuracao — exige permissão administracao.configuracao.

Como funciona

  • Cada flag tem uma chave (feature_key) e um estado enabled (booleano).
  • O backend expõe as flags via GET /feature-flags. A página as carrega e renderiza um switch para cada flag conhecida.
  • Ao alternar, é feito um PUT /feature-flags/{key} com { enabled: true|false }.
  • Mudanças podem exigir atualizar a página para que o frontend recarregue componentes que dependem da flag.

Flags disponíveis

ChaveNomeDescrição
pacotesPacotesHabilita o módulo de pacotes (agrupamentos), incluindo criação de tipos, criação de pacotes e empacotamento em lote de itens e pacotes.
inventario_2dInventário 2DHabilita o modo de inventário baseado em código de barras com controle por quantidade. Quando ativo, a página de inventários exibirá a opção de alternar entre inventário EPC (RFID) e inventário 2D. No modo 2D, os produtos são identificados pelo código de barras e contados por quantidade em cada ponto de leitura.

A lista é mantida em KNOWN_FEATURES no arquivo src/app/configuracao/page.tsx do frontend. Ao adicionar uma nova flag no backend, atualize também essa lista para que apareça na tela.

Como ativar uma flag

  1. Acesse /configuracao.
  2. Localize a flag desejada na lista.
  3. Clique no switch para alternar entre Ativada e Desativada.
  4. Aguarde a mensagem de sucesso.
  5. Atualize a página (F5) para garantir que componentes dependentes recarreguem.

Cuidados

  • Flags afetam toda a empresa, não usuários individuais.
  • Funcionalidades por trás de flags podem ser experimentais ou não totalmente testadas em produção.
  • Alguns módulos (ex.: pacotes) também exigem permissão de usuário correspondente — a flag apenas habilita o módulo no nível da empresa.