Skip to content

Uma alteração no Admin, passo a passo ​

Objetivo: entender a separação entre interface, regras e transação.

Ler e alterar são operações diferentes ​

O navegador abre uma SPA React. Ela chama a API Express. A API valida autenticação, payload e autorização; serviços aplicam regras; repositórios executam consultas Prisma.

O Admin não coleta, não publica MQTT e não envia comandos ao inversor.

O percurso de um PATCH ​

  1. O navegador envia o cookie de sessão e o token CSRF.
  2. A API verifica usuário/sessão, papel ADMIN e CSRF.
  3. Um schema fechado aceita somente campos permitidos.
  4. O serviço/repositório atualiza o recurso e cria auditoria na mesma transação.
  5. A resposta devolve uma projeção segura.

O formulário não é a proteção final: validar somente no frontend permitiria contornar regras com outra chamada HTTP.

Sessão e CSRF ​

O cookie HttpOnly não é acessível ao JavaScript. O banco guarda hash do token de sessão, não o token bruto. O token CSRF protege operações autenticadas que alteram estado e fica em memória na SPA.

São funções distintas: sessão identifica o acesso; CSRF verifica a requisição de alteração. Nenhum deles deve ser colocado em URL, screenshot ou exemplo público.

Preservar decisões humanas ​

A ingestão descobre dispositivos e métricas. O Admin permite editar campos de catálogo sem trocar identidades MQTT. A próxima telemetria preserva nome, metadata e active existentes.

Device.active não é InverterSource.enabled. Editar o catálogo não habilita coleta física.

Auditoria não é cópia dos valores ​

O log registra ator, ação, recurso e nomes dos campos alterados, não antes/depois completos. Também não registra credenciais.

Desativar ou redefinir senha de outro administrador revoga suas sessões. A aplicação impede remover o último ADMIN ativo e restringe mudanças na própria conta por esse fluxo.

Continue na referência da API.

Revisão: 06/10/2026. Base: apps/admin/src/app.ts, serviços/repositórios, types.ts, schema.prisma e docs/admin.md. Resumo de implementação, não auditoria de segurança independente.

IFSP Campus Boituva · Energia, automação e software em um mesmo projeto