Implement recipe retrieval methods and enhance inventory item types for better data handling
This commit is contained in:
@@ -5,6 +5,13 @@ const API_BASE = process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:
|
||||
export async function GET(request: NextRequest) {
|
||||
const id = request.nextUrl.searchParams.get('id');
|
||||
|
||||
if (!id) {
|
||||
return NextResponse.json(
|
||||
{ error: 'Missing id parameter' },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
|
||||
const res = await fetch(`${API_BASE}/api/recipes/${id}/inventory-preview`, {
|
||||
method: 'GET',
|
||||
cache: 'no-store',
|
||||
|
||||
@@ -80,11 +80,18 @@ export type RecipePreviewInventoryItem = {
|
||||
id: number;
|
||||
quantity: string;
|
||||
unit: string;
|
||||
brand?: string | null;
|
||||
location?: string | null;
|
||||
bestBeforeDate?: string | null;
|
||||
canConvert?: boolean;
|
||||
convertedQuantity?: number;
|
||||
};
|
||||
|
||||
export type RecipePreviewMatchingInventoryItem = RecipePreviewInventoryItem & {
|
||||
brand: string | null;
|
||||
location: string | null;
|
||||
bestBeforeDate: string | null;
|
||||
};
|
||||
|
||||
export type RecipePreviewOtherInventoryItem = RecipePreviewInventoryItem & {
|
||||
location: string | null;
|
||||
canConvert: boolean;
|
||||
convertedQuantity: number;
|
||||
};
|
||||
|
||||
export type RecipeInventoryPreviewIngredient = {
|
||||
@@ -96,8 +103,8 @@ export type RecipeInventoryPreviewIngredient = {
|
||||
note: string | null;
|
||||
availableQuantity: number;
|
||||
availableUnit: string | null;
|
||||
matchingInventoryItems: RecipePreviewInventoryItem[];
|
||||
otherInventoryItems: RecipePreviewInventoryItem[];
|
||||
matchingInventoryItems: RecipePreviewMatchingInventoryItem[];
|
||||
otherInventoryItems: RecipePreviewOtherInventoryItem[];
|
||||
status: 'enough' | 'missing' | 'unit_mismatch';
|
||||
missingQuantity: number;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user