Fuegt das nullable Feld section_heading zur ingredient-Tabelle hinzu (Migration 012), erweitert den Ingredient-Typ und aktualisiert alle drei Return-Stellen in parseIngredient. Downstream-Sites (repository, Editor, Tests) bleiben rot – werden in Task 2+ behoben. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
47 lines
937 B
TypeScript
47 lines
937 B
TypeScript
export type Ingredient = {
|
|
position: number;
|
|
quantity: number | null;
|
|
unit: string | null;
|
|
name: string;
|
|
note: string | null;
|
|
raw_text: string;
|
|
section_heading: string | null;
|
|
};
|
|
|
|
export type Step = {
|
|
position: number;
|
|
text: string;
|
|
};
|
|
|
|
export type Recipe = {
|
|
id: number | null;
|
|
title: string;
|
|
description: string | null;
|
|
source_url: string | null;
|
|
source_domain: string | null;
|
|
image_path: string | null;
|
|
servings_default: number | null;
|
|
servings_unit: string | null;
|
|
prep_time_min: number | null;
|
|
cook_time_min: number | null;
|
|
total_time_min: number | null;
|
|
cuisine: string | null;
|
|
category: string | null;
|
|
ingredients: Ingredient[];
|
|
steps: Step[];
|
|
tags: string[];
|
|
};
|
|
|
|
export type Profile = {
|
|
id: number;
|
|
name: string;
|
|
avatar_emoji: string | null;
|
|
};
|
|
|
|
export type AllowedDomain = {
|
|
id: number;
|
|
domain: string;
|
|
display_name: string | null;
|
|
favicon_path: string | null;
|
|
};
|