import { prisma } from "../../config/prisma";

export function findByService(serviceId: string) {
  return prisma.serviceDocument.findMany({
    where: { serviceId },
    orderBy: { name: "asc" },
  });
}

export function upsertMany(
  serviceId: string,
  docs: { id?: string; name: string; isRequired?: boolean }[]
) {
  return prisma.$transaction(
    docs.map((d) =>
      d.id
        ? prisma.serviceDocument.update({
            where: { id: d.id },
            data: { name: d.name, isRequired: d.isRequired ?? true },
          })
        : prisma.serviceDocument.create({
            data: { serviceId, name: d.name, isRequired: d.isRequired ?? true },
          })
    )
  );
}

export function deleteOne(id: string, serviceId: string) {
  return prisma.serviceDocument.deleteMany({ where: { id, serviceId } });
}

export function deleteAllByService(serviceId: string) {
  return prisma.serviceDocument.deleteMany({ where: { serviceId } });
}
