@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
56 lines • 1.83 kB
TypeScript
/**
* @description
* Representa metadados de rastreamento e contexto de uma operação (auditoria).
*
* Captura quem executou, de onde, com qual agente de usuário e inclui
* identificadores de correlação/trace distribuído (ex.: `traceId`, `requestId`).
*
* @remarks
* - Pode ser usada isoladamente ou como parte de entidades auditáveis (ex.: `AuditedEntity`).
* - Ideal para logs, microsserviços de auditoria e interceptadores de requisições.
* - Estende {@link CorrelationIds} para suportar padrões como W3C Trace Context.
*
* @example
* {
* userId: "b3c2e3a9",
* ip: "192.168.0.101",
* userAgent: "Mozilla/5.0 (Windows NT 10.0)",
* contexto: "Importação de processos via CSV",
* requestId: "req-01HQZ0X9...",
* traceId: "0af7651916cd43dd8448eb211c80319c"
* }
*
* @public
*/
import type { CorrelationIds } from "./correlation-ids.interface";
export interface AuditContext extends CorrelationIds {
/**
* ID do usuário que executou a ação.
*
* @remarks
* Pode ser `undefined` caso a ação não tenha sido realizada por um usuário autenticado.
*/
userId?: string;
/**
* Endereço IP de origem da requisição.
*
* @remarks
* Pode ser útil para rastreamento de acessos e identificação de origem.
*/
ip?: string;
/**
* Identificação do agente de usuário (navegador, sistema, etc.).
*
* @remarks
* Normalmente extraído do cabeçalho `User-Agent` da requisição HTTP.
*/
userAgent?: string;
/**
* Descrição opcional do contexto da ação (ex: nome do módulo ou operação).
*
* @remarks
* Pode ser utilizada para detalhar o cenário em que a ação foi executada.
*/
contexto?: string;
}
//# sourceMappingURL=audit-context.interface.d.ts.map