26 lines
782 B
TypeScript
26 lines
782 B
TypeScript
|
|
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<MailRevisionProps> {
|
||
|
|
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;
|
||
|
|
}
|
||
|
|
}
|