Sistema de Acesso
O RadarBov usa um sistema de controle de acesso hierárquico baseado em caminhos ltree do PostgreSQL. Esse modelo permite representar a hierarquia organização → estabelecimento → usuário de forma eficiente e flexível.
Modelo hierárquico
A hierarquia de acesso reflete a estrutura organizacional:
organização
└── estabelecimento A
└── estabelecimento B
Um usuário com acesso à organização pode ver todos os estabelecimentos abaixo dela. Um usuário com acesso apenas a um estabelecimento vê somente aquele.
Caminhos ltree
O PostgreSQL tem uma extensão chamada ltree que representa hierarquias como strings separadas por ponto. Por exemplo:
org_123.estab_456
Consultas com ltree permitem perguntas como “quais registros pertencem a esta organização ou qualquer nó abaixo dela?” com uma única query eficiente.
Papéis de usuário
Cada usuário tem um papel dentro de cada organização ou estabelecimento ao qual pertence:
| Papel | Capacidades típicas |
|---|---|
| Administrador | Gerenciar usuários, configurar estabelecimento, todas as operações |
| Operador | Registrar entradas, saídas, identificações |
| Visualizador | Apenas consulta, sem escrita |
| Transportador | Criar e gerenciar viagens, visualizar GTAs |
Acesso via convite
Novos usuários recebem acesso via sistema de convites. O papel é definido no momento do convite.
Compartilhamento externo
O compartilhamento de dados com agroindústrias é controlado separadamente — um compartilhamento ativo dá acesso de leitura limitado por período e estabelecimento, sem criar uma relação permanente de membro.
Chave de acesso ao estabelecimento
No app mobile, um estabelecimento pode ter uma chave de acesso — um código que operadores de campo inserem para vincular-se àquele estabelecimento sem necessidade de convite formal.