2026-10-08 14:43:34 +00:00
|
|
|
import type { UniqueID } from "@repo/rdx-ddd";
|
|
|
|
|
import { DomainEntity } from "@repo/rdx-ddd";
|
2026-10-05 10:02:04 +00:00
|
|
|
|
2026-10-09 08:38:19 +00:00
|
|
|
import type { FolderMappingValues } from "./value-objects/folder-mapping-values.vo";
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
export type FolderMappingRevisionProps = Readonly<{
|
|
|
|
|
values: FolderMappingValues;
|
|
|
|
|
actorId: UniqueID;
|
|
|
|
|
recordedAt: string;
|
|
|
|
|
}>;
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
export class FolderMappingRevision extends DomainEntity<FolderMappingRevisionProps> {
|
|
|
|
|
static create(props: FolderMappingRevisionProps) {
|
|
|
|
|
return new FolderMappingRevision(Object.freeze({ ...props }));
|
|
|
|
|
}
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
static rehydrate(props: FolderMappingRevisionProps, id: UniqueID) {
|
|
|
|
|
return new FolderMappingRevision(Object.freeze({ ...props }), id);
|
|
|
|
|
}
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
get values() {
|
|
|
|
|
return this.props.values;
|
|
|
|
|
}
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
get actorId() {
|
|
|
|
|
return this.props.actorId;
|
|
|
|
|
}
|
2026-10-10 10:01:58 +00:00
|
|
|
|
2026-10-05 10:02:04 +00:00
|
|
|
get recordedAt() {
|
|
|
|
|
return this.props.recordedAt;
|
|
|
|
|
}
|
|
|
|
|
}
|