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 estadoenabled(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
| Chave | Nome | Descrição |
|---|---|---|
pacotes | Pacotes | Habilita o módulo de pacotes (agrupamentos), incluindo criação de tipos, criação de pacotes e empacotamento em lote de itens e pacotes. |
inventario_2d | Inventário 2D | Habilita 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_FEATURESno arquivosrc/app/configuracao/page.tsxdo frontend. Ao adicionar uma nova flag no backend, atualize também essa lista para que apareça na tela.
Como ativar uma flag
- Acesse
/configuracao. - Localize a flag desejada na lista.
- Clique no switch para alternar entre Ativada e Desativada.
- Aguarde a mensagem de sucesso.
- 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.