import { NextRequest, NextResponse } from "next/server"; import { secureLogger } from "@/lib/secure-logger"; import { incrementViews } from "@/lib/db/queries/listings"; /** * POST /api/listings/[id]/views * Incrementa contador de views de um anúncio * Não requer autenticação (público) */ export async function POST( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const listingId = parseInt(id, 10); if (isNaN(listingId)) { return NextResponse.json( { success: false, error: "ID de anúncio inválido", }, { status: 400 } ); } // Incrementar views await incrementViews(listingId); return NextResponse.json( { success: true, message: "View incrementada", }, { status: 200 } ); } catch (error) { secureLogger.error("❌ Erro ao incrementar views", { error: error instanceof Error ? error.message : "Erro desconhecido", stack: error instanceof Error ? error.stack : undefined, }); return NextResponse.json( { success: false, error: "Erro ao incrementar views", }, { status: 500 } ); } }