import { NextRequest, NextResponse } from 'next/server';
import { getCapitulos, createCapitulo, getIdeaMotriz, getPersonajes } from '@/lib/file-service';

export async function GET(
  request: NextRequest,
  { params }: { params: Promise<{ slug: string }> }
) {
  try {
    const { slug } = await params;
    const capitulos = await getCapitulos(slug);
    return NextResponse.json(capitulos);
  } catch (error: any) {
    return NextResponse.json({ error: error.message }, { status: 500 });
  }
}

export async function POST(
  request: NextRequest,
  { params }: { params: Promise<{ slug: string }> }
) {
  try {
    const { slug } = await params;
    const { numero, titulo, virtudSugerida } = await request.json();

    // Crear el capítulo
    const capitulo = await createCapitulo(slug, numero, titulo || `Capítulo ${numero}`);

    // Si se solicita, generar el guión conductor automáticamente
    if (virtudSugerida !== undefined) {
      const ideaMotriz = await getIdeaMotriz(slug);
      const personajes = await getPersonajes(slug);
      
      if (ideaMotriz && personajes.length > 0) {
        const { generateGuionConductor } = await import('@/lib/llm-service');
        await generateGuionConductor(ideaMotriz, personajes, numero, virtudSugerida);
      }
    }

    return NextResponse.json(capitulo);
  } catch (error: any) {
    console.error('Error creando capítulo:', error);
    return NextResponse.json({ error: error.message }, { status: 500 });
  }
}
