import { apagarArquivoDaBiblioteca, enderecoParaAssistirNoPainel } from "@/lib/digitais/servidor/acoes/arquivos";
import { rotaDigital } from "@/lib/digitais/servidor/contexto";

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

/* Endereço para assistir o vídeo no painel (a prévia no cadastro do produto). Vale uma hora.
   O que a rota faz mora em lib/digitais/servidor/acoes (o assistente usa o mesmo). */
export async function GET(_request: Request, { params }: Params) {
  const { id } = await params;
  return rotaDigital("digital.files.read", (contexto) => enderecoParaAssistirNoPainel(contexto, id), { videoDoProduto: true });
}

/*
 * Cancela um envio ou apaga um arquivo. Arquivo que está num produto, ou que
 * alguém comprou, não sai: primeiro tira do produto (quem comprou continua
 * baixando enquanto tiver acesso).
 */
export async function DELETE(_request: Request, { params }: Params) {
  const { id } = await params;
  return rotaDigital("digital.files.write", ({ admin, lojaId }) => apagarArquivoDaBiblioteca(admin, lojaId, id), { videoDoProduto: true });
}
