import type { IProcessingRestriction } from "../processing-restriction.interface";
import type { HandlerResponse } from "./handler-types";

export type RestrictHandlerInput = {
  subjectId: string;
  granted: boolean;
};

export function createRestrictHandler(
  processingRestriction: IProcessingRestriction,
) {
  return async (
    input: RestrictHandlerInput,
  ): Promise<HandlerResponse<{ ok: true }>> => {
    await processingRestriction.setRestriction(input.subjectId, input.granted);
    return { status: 200, body: { ok: true as const } };
  };
}
