From e7c8fd841699cb6ba5770ce9afff82aa07eda81b Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Sun, 19 Apr 2026 10:52:11 +0200 Subject: [PATCH] feat(inventory): add API routes for GET and POST inventory --- frontend/app/api/inventory/route.ts | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 frontend/app/api/inventory/route.ts diff --git a/frontend/app/api/inventory/route.ts b/frontend/app/api/inventory/route.ts new file mode 100644 index 00000000..719f4eda --- /dev/null +++ b/frontend/app/api/inventory/route.ts @@ -0,0 +1,34 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { getAuthHeaders } from '../../../lib/auth-headers'; + +const API_BASE = + process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:8080'; + +export async function GET(request: NextRequest) { + const authHeaders = await getAuthHeaders(); + const search = request.nextUrl.search; + const res = await fetch(`${API_BASE}/api/inventory${search}`, { + headers: { ...authHeaders }, + cache: 'no-store', + }); + const text = await res.text(); + return new NextResponse(text, { + status: res.status, + headers: { 'Content-Type': 'application/json' }, + }); +} + +export async function POST(request: NextRequest) { + const authHeaders = await getAuthHeaders(); + const body = await request.json(); + const res = await fetch(`${API_BASE}/api/inventory`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', ...authHeaders }, + body: JSON.stringify(body), + }); + const text = await res.text(); + return new NextResponse(text, { + status: res.status, + headers: { 'Content-Type': 'application/json' }, + }); +}