carouselforge / src /app /api /render /route.ts
CarouselForge Developer
fix: resolve TypeScript and test configuration issues for Phase 13
9a43362
import { NextRequest, NextResponse } from 'next/server';
import type { ApiResponse, RenderRequest, RenderData } from '@/types/api';
export async function POST(req: NextRequest): Promise<NextResponse<ApiResponse<RenderData>>> {
try {
const body: RenderRequest = await req.json();
if (!body.slides || body.slides.length === 0) {
return NextResponse.json({ success: false, error: 'No slides to render' }, { status: 400 });
}
// Phase 5 stub — real Puppeteer rendering implemented in Phase 3
const stubImages = body.slides.map((_, i) =>
`https://placehold.co/1080x1080/3b82f6/ffffff?text=Slide+${i + 1}`
);
return NextResponse.json({
success: true,
data: { images: stubImages, zipUrl: '#' },
});
} catch (err) {
console.error('[render] failed:', err);
return NextResponse.json({ success: false, error: 'Something went wrong — please try again' }, { status: 500 });
}
}