import { prisma } from "@/lib/prisma";
import type { Prisma } from "@/generated/prisma/client";

import type { AvenantCreateInput,AvenantUpdateInput } from "@/validators/avenants";

export async function listAvenants(limit: number, offset: number) {
  return prisma.avenants_contrat.findMany({
    orderBy: [{ id: "asc" }],
    take: limit,
    skip: offset,
  });
}

export async function listAvenantsByContratBusinessId(idContrat: number) {
  return prisma.avenants_contrat.findMany({
    where: {
      id_contrat: idContrat,
    },
    orderBy: [{ id: "asc" }],
  });
}

export async function getAvenantById(id: number) {
  return prisma.avenants_contrat.findUnique({
    where: { id },
  });
}


export async function createAvenant(data: AvenantCreateInput) {
  return prisma.avenants_contrat.create({
    data: data as Prisma.avenants_contratCreateInput,
  });
}


export async function updateAvenantFeed(id: number, data: AvenantUpdateInput) {
  return prisma.avenants_contrat.update({
    where: { id },
    data,
  });
}

export async function deleteAvenantFeed(id: number) {
  return prisma.avenants_contrat.delete({
    where: { id },
  });
}