import { NextResponse } from 'next/server' import { prisma } from '@/lib/db' import { CacheManager } from '@/lib/cache' export async function GET(request: Request) { try { const { searchParams } = new URL(request.url) const bookId = parseInt(searchParams.get('book') || '1') const chapterNum = parseInt(searchParams.get('chapter') || '1') // Check cache first const cacheKey = CacheManager.getChapterKey(bookId, chapterNum) const cachedChapter = await CacheManager.get(cacheKey) if (cachedChapter) { return NextResponse.json({ chapter: JSON.parse(cachedChapter), cached: true }) } // Get chapter with verses from database const chapter = await prisma.bibleChapter.findFirst({ where: { bookId, chapterNum }, include: { verses: { orderBy: { verseNum: 'asc' } }, book: true } }) if (!chapter) { return NextResponse.json({ error: 'Capitolul nu a fost găsit' }, { status: 404 }) } const chapterData = { id: chapter.id, bookName: chapter.book.name, chapterNum: chapter.chapterNum, verses: chapter.verses } // Cache the result for 1 hour await CacheManager.set(cacheKey, JSON.stringify(chapterData), 3600) return NextResponse.json({ chapter: chapterData, cached: false }) } catch (error) { console.error('Chapter fetch error:', error) return NextResponse.json({ error: 'Eroare de server' }, { status: 500 }) } }