import { concluirEnvioDeArquivo } from "@/lib/digitais/servidor/acoes/arquivos";
import { rotaDigital } from "@/lib/digitais/servidor/contexto";

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

/*
 * Fecha o envio: quem diz quais partes chegaram é o depósito (não o
 * navegador). Depois confere o tamanho e o formato real pelos primeiros
 * bytes. O que a rota faz mora em lib/digitais/servidor/acoes.
 */
export async function POST(request: Request, { params }: Params) {
  const { id } = await params;
  return rotaDigital(
    "digital.files.write",
    async ({ admin, lojaId }) => concluirEnvioDeArquivo(admin, lojaId, id, await request.json().catch(() => null), request),
    { videoDoProduto: true }
  );
}
