metis-desk/modules/companies/src/api/domain/folder-mapping-revision.entity.ts
2026-10-10 12:01:58 +02:00

33 lines
835 B
TypeScript

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