Files
agentic-dev/packages/core-dsr/src/in-memory-data-delete.ts
2026-07-12 08:15:46 +00:00

28 lines
843 B
TypeScript

import { randomUUID } from "node:crypto";
import type { IDataDelete } from "./data-delete.interface";
import type { DeletionMode, DeletionCertificate } from "./dsr-types";
/**
* Volatile in-memory IDataDelete. Returns a well-shaped DeletionCertificate
* without touching any persistence layer.
*
* Used in dev-seed and storybook contexts where Payload is unavailable.
* Not a recording double — use RecordingDataDelete from @repo/core-testing for
* call-assertion in unit tests.
*/
export class InMemoryDataDelete implements IDataDelete {
async deleteSubjectData(
subjectId: string,
mode: DeletionMode,
): Promise<DeletionCertificate> {
return {
subjectId,
mode,
timestamp: new Date().toISOString(),
reason: "art-17-request",
affected: [],
auditEntryId: randomUUID(),
};
}
}