Spaces:
Running
Running
| 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 }); | |
| } | |
| } | |