Curated, product-agnostic snapshot of the post-story-04 tree: demo content deleted, auth-only reference feature, web-next shell, all gates green. Product-specific docs, ADRs 027-029, PRDs/epics/archive, editor library traces, and product naming are curated out; generic template repairs (coverage provider devDeps, root test:coverage script, live lint fixes, root-only release-please) are kept. See TEMPLATE.md for provenance, curation list, and usage. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
21 lines
586 B
TypeScript
21 lines
586 B
TypeScript
import type { IDataDelete } from "../data-delete.interface";
|
|
import type { DeletionMode, DeletionCertificate } from "../dsr-types";
|
|
import type { HandlerResponse } from "./handler-types";
|
|
|
|
export type DeleteHandlerInput = {
|
|
subjectId: string;
|
|
mode: DeletionMode;
|
|
};
|
|
|
|
export function createDeleteHandler(dataDelete: IDataDelete) {
|
|
return async (
|
|
input: DeleteHandlerInput,
|
|
): Promise<HandlerResponse<DeletionCertificate>> => {
|
|
const cert = await dataDelete.deleteSubjectData(
|
|
input.subjectId,
|
|
input.mode,
|
|
);
|
|
return { status: 200, body: cert };
|
|
};
|
|
}
|