import { rotaDigital } from "@/lib/digitais/servidor/contexto";
import { apagarComentario, mudarSituacaoDoComentario } from "@/lib/digitais/servidor/comentarios";

/* Aprovar, ocultar ou mostrar de novo um comentário. */
export async function PUT(request: Request, { params }: { params: Promise<{ id: string }> }) {
  return rotaDigital("digital.comments.write", async ({ admin, lojaId }) => {
    const { id } = await params;
    const corpo = (await request.json().catch(() => null)) as { status?: unknown } | null;
    await mudarSituacaoDoComentario(admin, { lojaId, id, status: corpo?.status });
    return { ok: true };
  });
}

/* Apagar um comentário (e, se for o principal, a conversa inteira). */
export async function DELETE(_request: Request, { params }: { params: Promise<{ id: string }> }) {
  return rotaDigital("digital.comments.write", async ({ admin, lojaId }) => {
    const { id } = await params;
    await apagarComentario(admin, { lojaId, id });
    return { ok: true };
  });
}
