Campos
Relacionamentos
- Relaciona-se opcionalmente com Organization.
userIdidentifica logicamente o User associado à ação.
Regras de Negócio
- Log append-only — registros nunca são editados ou removidos.
typeclassifica se o registro nasceu de uma ação da aplicação ou de uma rotina do sistema.type = SYSTEM_LOGpode teruserId = nullquando não houver ator humano ou usuário de sistema associado.- Rastreamento via
domain+resource+resourceId(ex.:domain = IDENTITY,resource = USER,resourceId = uuid). domaineresourcesã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 comoUSER_BLOCKED,ROUTE_APPROVED,TICKET_REPRINTEDouSESSION_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
createdByecreatedAtcomo auditoria direta.