Skip to main content

Campos

Relacionamentos

  • Relaciona-se opcionalmente com Organization.
  • userId identifica logicamente o User associado à ação.

Regras de Negócio

  • Log append-only — registros nunca são editados ou removidos.
  • type classifica se o registro nasceu de uma ação da aplicação ou de uma rotina do sistema.
  • type = SYSTEM_LOG pode ter userId = null quando não houver ator humano ou usuário de sistema associado.
  • Rastreamento via domain + resource + resourceId (ex.: domain = IDENTITY, resource = USER, resourceId = uuid).
  • domain e resource são enums fechados para garantir filtros consistentes.
  • action é 100% aberto e não possui enum. A aplicação pode registrar combinações de negócio como USER_BLOCKED, ROUTE_APPROVED, TICKET_REPRINTED ou SESSION_REVOKED.
  • Armazena snapshots de antes (oldData) e depois (newData) para rastreabilidade completa.
  • Captura metadados da requisição (userAgent, ip) para fins de segurança.
  • A consulta pode ser filtrada por organização, usuário, domain, resource, resourceId, action e data.
  • Por ser append-only, o registro usa apenas createdBy e createdAt como auditoria direta.

Enums

AuditLogType

AuditDomain

AuditResource

Example