diff --git a/frontend/app/api/recipes/route.ts b/frontend/app/api/recipes/route.ts new file mode 100644 index 00000000..dfec35fb --- /dev/null +++ b/frontend/app/api/recipes/route.ts @@ -0,0 +1,27 @@ +import { NextRequest, NextResponse } from 'next/server'; + +const API_BASE = process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:8080'; + +export async function GET() { + const res = await fetch(`${API_BASE}/api/recipes`, { + cache: 'no-store', + }); + const data = await res.json(); + return NextResponse.json(data, { status: res.status }); +} + +export async function POST(request: NextRequest) { + const body = await request.json(); + const res = await fetch(`${API_BASE}/api/recipes`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body), + cache: 'no-store', + }); + + const text = await res.text(); + return new NextResponse(text, { + status: res.status, + headers: { 'Content-Type': res.headers.get('content-type') ?? 'application/json' }, + }); +} diff --git a/frontend/app/inventory/actions.ts b/frontend/app/inventory/actions.ts index 9a0f771f..dd0c652c 100644 --- a/frontend/app/inventory/actions.ts +++ b/frontend/app/inventory/actions.ts @@ -21,6 +21,8 @@ export async function createProduct(formData: FormData) { } revalidatePath('/inventory'); + revalidatePath('/admin/products'); + revalidatePath('/baslager'); } export async function createInventoryItem(formData: FormData) {