metis-desk/modules/companies/src/api/domain/mail-configuration-revision.entity.ts

26 lines
782 B
TypeScript
Raw Normal View History

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;
}
}