UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

53 lines 1.77 kB
import type { SoftDelete } from "./soft-delete.interface"; /** * Extensão da interface {@link SoftDelete} com metadados adicionais sobre exclusão lógica. * * @remarks * Esta interface adiciona informações contextuais sobre quem executou a exclusão e o motivo, * útil para auditoria e rastreabilidade mais detalhadas. Use esta interface quando precisar * de controle mais granular sobre o processo de soft delete. * * @example * ```typescript * const usuario: SoftDeleteExtended = { * active: false, * exclusionDate: new Date("2024-01-12"), * deletedBy: "admin@anpd.gov.br", * deletionReason: "Usuário solicitou exclusão de conta" * } * ``` * * @see SoftDelete * @public */ export interface SoftDeleteExtended extends SoftDelete { /** * Identificador do usuário que executou a exclusão lógica. * * @remarks * Pode ser um ID, email ou username, dependendo da implementação do sistema de autenticação. */ deletedBy?: string; /** * Motivo ou justificativa para a exclusão lógica. * * @remarks * Campo útil para auditoria e conformidade, permitindo rastrear por que um registro foi desativado. */ deletionReason?: string; /** * Data em que a entidade foi restaurada (reativada) após exclusão lógica. * * @remarks * Útil para rastrear ciclos de ativação/desativação. Deve ser limpo quando `active` é definido como `false`. */ restoredAt?: Date | null; /** * Identificador do usuário que restaurou a entidade. * * @remarks * Complementa `restoredAt` para auditoria completa do ciclo de vida da entidade. */ restoredBy?: string; } //# sourceMappingURL=soft-delete-extended.interface.d.ts.map