import { NextRequest, NextResponse } from 'next/server' import { mockDb } from '@/lib/mockDb' export async function GET(req: NextRequest) { const { searchParams } = new URL(req.url) const neighborhoodSlug = searchParams.get('neighborhood') const categorySlug = searchParams.get('category') const filters: Parameters[0] = {} // Neighborhood filtresi (opsiyonel - boşsa tüm Marmaris) if (neighborhoodSlug) { const neighborhood = await mockDb.getNeighborhoodBySlug(neighborhoodSlug) if (neighborhood) { filters.neighborhoodId = neighborhood.id } } // Category filtresi (opsiyonel) if (categorySlug) { const categories = await mockDb.getCategories() const cat = categories.find(c => c.slug === categorySlug) if (cat) { filters.categoryId = cat.id } } const listings = await mockDb.getListings(filters) // Shuffle for variety, limit to 5 const shuffled = listings.sort(() => 0.5 - Math.random()).slice(0, 5) const formattedListings = shuffled.map(l => ({ id: l.id, name: l.nameTr, nameEn: l.nameEn, nameRu: l.nameRu, slug: l.slug, categorySlug: l.category?.slug || 'isletme', categoryName: l.category?.nameTr || '', neighborhoodName: l.neighborhood?.nameTr || '', rating: l.rating, priceSymbols: '₺'.repeat(l.priceRange || 1), coverImage: l.images && l.images.length > 0 ? l.images[0].url : 'https://images.unsplash.com/photo-1555396273-367ea4eb4db5?w=800&auto=format&fit=crop&q=80' })) return NextResponse.json({ listings: formattedListings }, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, OPTIONS', } }) } // Handle preflight OPTIONS request export async function OPTIONS() { return new NextResponse(null, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type', } }) }