Skip to content

schemas

I/O models to interact with entities.

GoogleLoginRequest

Request body for Google OAuth login.

IngredientCreate

capitalize_name classmethod

capitalize_name(v: str) -> str

Ensure ingredient name starts with a capital letter.

InstagramImageCandidate

validate_https_url classmethod

validate_https_url(v: str) -> str

Only allow HTTPS URLs to prevent javascript:, file://, data: etc.

ParsedRecipe

A recipe parsed from an external source, with optional image URL.

RecipeCreate

assign_display_orders

assign_display_orders() -> RecipeCreate

Auto-assign display_order from list position when not provided.

coerce_season classmethod

coerce_season(v: Any) -> Any

Treat empty string as None.

RecipeUpdate

Full replacement of a recipe (PUT). Images excluded — separate upload flow.

assign_display_orders

assign_display_orders() -> RecipeUpdate

Auto-assign display_order from list position when not provided.

ShareRecipeRequest

Request body for sharing a recipe with another user.

TokenResponse

JWT token response.