import { adicionarMaterial, tirarMaterial } from "@/lib/digitais/servidor/acoes/cursos";
import { rotaDigital } from "@/lib/digitais/servidor/contexto";

type Params = { params: Promise<{ id: string; aulaId: string }> };

/* Um material para a aula: um arquivo da biblioteca ou um link.
   O que a rota faz mora em lib/digitais/servidor/acoes (o assistente usa o mesmo). */
export async function POST(request: Request, { params }: Params) {
  const { id, aulaId } = await params;
  return rotaDigital("digital.products.write", async (contexto) => adicionarMaterial(contexto, id, aulaId, await request.json().catch(() => null), request));
}

/* Tira um material da aula (o arquivo continua na biblioteca). */
export async function DELETE(request: Request, { params }: Params) {
  const { id, aulaId } = await params;
  return rotaDigital("digital.products.write", (contexto) =>
    tirarMaterial(contexto, id, aulaId, String(new URL(request.url).searchParams.get("material") || ""), request)
  );
}
