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