import { NextResponse } from 'next/server'; import { dataService } from '@/lib/data-service'; import { generateWhatsAppCatalogCsv } from '@/lib/whatsapp-catalog'; import { getProductsFromAppwrite } from '@/lib/server-appwrite'; export const dynamic = 'force-dynamic'; export const revalidate = 0; export async function GET() { try { let products = dataService.getProducts(); // Sincronizar siempre con Appwrite para garantizar catálogo en tiempo real try { const appwriteProducts = await getProductsFromAppwrite(); if (appwriteProducts && appwriteProducts.length > 0) { const existingIds = new Set(products.map((p) => p.id)); for (const ap of appwriteProducts) { if (!existingIds.has(ap.id)) { dataService.addProduct(ap); } } products = dataService.getProducts(); } } catch (e: any) { console.warn('Error sincronizando productos con Appwrite para CSV Feed:', e.message); } const csv = generateWhatsAppCatalogCsv(products); return new Response(csv, { status: 200, headers: { 'Content-Type': 'text/csv; charset=utf-8', 'Content-Disposition': 'inline; filename="dripzone_whatsapp_catalog.csv"', 'Cache-Control': 'public, max-age=60, s-maxage=60, stale-while-revalidate=120', }, }); } catch (error: any) { console.error('[WhatsApp Catalog Feed CSV] Error:', error); return new NextResponse('error,message\n500,"Error generating CSV catalog feed"', { status: 500, headers: { 'Content-Type': 'text/csv; charset=utf-8' }, }); } }