import { DomainEntity, type UniqueID } from "@repo/rdx-ddd"; import type { MailConfigurationValues } from "./value-objects/mail-configuration-values"; export type MailRevisionProps = Readonly<{ values: MailConfigurationValues; actorId: UniqueID; recordedAt: string; }>; export class MailConfigurationRevision extends DomainEntity { static create(props: MailRevisionProps) { return new MailConfigurationRevision(Object.freeze({ ...props })); } static rehydrate(props: MailRevisionProps, id: UniqueID) { return new MailConfigurationRevision(Object.freeze({ ...props }), id); } get values() { return this.props.values; } get actorId() { return this.props.actorId; } get recordedAt() { return this.props.recordedAt; } }