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