UNPKG

@anpdgovbr/shared-types

Version:

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

50 lines 1.67 kB
import type { BaseEntity } from "./base-entity.interface"; import type { AuditContext } from "./audit-context.interface"; /** * Representa uma entidade auditável com metadados de criação e atualização. * * ## Quando usar `AuditedEntity`: * * | Situação | Usar `AuditedEntity`? | * |----------------------------------|------------------------| * | Modelo persistido com logs | ✅ Sim | * | DTO de leitura (Output) | ✅ Se contiver auditoria | * | DTO de criação (Input) | ❌ Não | * | Logs (ex: `AuditLog`) | ❌ Não (ele é o log) | * | Tipos de referência (CNAE, Setor)| ✅ Se tiver `criadoEm`/`active` | * * @remarks * Esta interface deve ser utilizada para entidades que necessitam de controle de auditoria, * incluindo informações sobre quando foram criadas e atualizadas. * * @see BaseEntity * @see AuditContext * * @example * ```typescript * class Usuario implements AuditedEntity { * id: string; * criadoEm: Date; * atualizadoEm: Date; * criadoPor: string; * atualizadoPor: string; * } * ``` */ export interface AuditedEntity extends BaseEntity, AuditContext { /** * Data e hora em que a entidade foi criada. * * @remarks * Este campo é preenchido automaticamente pelo sistema ao persistir a entidade. */ criadoEm?: Date; /** * Data e hora da última atualização da entidade. * * @remarks * Atualizado sempre que a entidade sofre alguma modificação relevante. */ atualizadoEm?: Date; } //# sourceMappingURL=audited-entity.interface.d.ts.map