import { NextResponse } from "next/server";

import { corpoDaRequisicao, rotaDoDono } from "@/lib/fiscal-owner-rota";
import { alterarPacoteDeLive, criarPacoteDeLive, excluirPacoteDeLive } from "@/lib/live-owner";

/** Os pacotes KtaloguLive que as empresas compram em Assinatura → Produtos Digitais. */
export async function POST(req: Request) {
  return rotaDoDono(async ({ admin }) => {
    await criarPacoteDeLive(admin, await corpoDaRequisicao(req));
    return NextResponse.json({ ok: true });
  });
}

export async function PUT(req: Request) {
  return rotaDoDono(async ({ admin }) => {
    await alterarPacoteDeLive(admin, String(new URL(req.url).searchParams.get("id") || ""), await corpoDaRequisicao(req));
    return NextResponse.json({ ok: true });
  });
}

export async function DELETE(req: Request) {
  return rotaDoDono(async ({ admin }) => {
    const resultado = await excluirPacoteDeLive(admin, String(new URL(req.url).searchParams.get("id") || ""));
    return NextResponse.json({ ok: true, ...resultado });
  });
}
