From bf5c9acdf4b1807987e7074bb05bf18e5ee44646 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Fri, 31 Jul 2026 18:44:32 +0000 Subject: [PATCH] Deploy --- src/app/api/content/[collection]/route.ts | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/app/api/content/[collection]/route.ts diff --git a/src/app/api/content/[collection]/route.ts b/src/app/api/content/[collection]/route.ts new file mode 100644 index 0000000..df1848a --- /dev/null +++ b/src/app/api/content/[collection]/route.ts @@ -0,0 +1,24 @@ +import { NextRequest, NextResponse } from 'next/server' + +const VULA_CMS_URL = process.env.VULA_CMS_URL || 'https://ide.vulai.co.za' +const VULA_CMS_PROJECT_ID = process.env.VULA_CMS_PROJECT_ID || '538f5007-ea44-4062-96bc-842202ded699' + +export async function GET( + request: NextRequest, + { params }: { params: Promise<{ collection: string }> } +) { + const { collection } = await params + if (!VULA_CMS_PROJECT_ID) return NextResponse.json({ items: [] }) + try { + const { searchParams } = request.nextUrl + const status = searchParams.get('status') || 'published' + const limit = searchParams.get('limit') || '20' + const url = `${VULA_CMS_URL}/api/public/cms/${VULA_CMS_PROJECT_ID}/${collection}?status=${status}&limit=${limit}` + const res = await fetch(url, { cache: 'no-store' }) + if (!res.ok) return NextResponse.json({ items: [] }) + const json = await res.json() as { items?: unknown[] } + return NextResponse.json({ items: json.items ?? [] }) + } catch { + return NextResponse.json({ items: [] }) + } +}