mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-12-17 15:55:13 -05:00
feat: Recipe Finder (aka Cocktail Builder) (#4542)
This commit is contained in:
@@ -75,6 +75,7 @@ from .recipe_scraper import ScrapeRecipe, ScrapeRecipeBase, ScrapeRecipeData, Sc
|
||||
from .recipe_settings import RecipeSettings
|
||||
from .recipe_share_token import RecipeShareToken, RecipeShareTokenCreate, RecipeShareTokenSave, RecipeShareTokenSummary
|
||||
from .recipe_step import IngredientReferences, RecipeStep
|
||||
from .recipe_suggestion import RecipeSuggestionQuery, RecipeSuggestionResponse, RecipeSuggestionResponseItem
|
||||
from .recipe_timeline_events import (
|
||||
RecipeTimelineEventCreate,
|
||||
RecipeTimelineEventIn,
|
||||
@@ -109,6 +110,9 @@ __all__ = [
|
||||
"RecipeTimelineEventUpdate",
|
||||
"TimelineEventImage",
|
||||
"TimelineEventType",
|
||||
"RecipeSuggestionQuery",
|
||||
"RecipeSuggestionResponse",
|
||||
"RecipeSuggestionResponseItem",
|
||||
"Nutrition",
|
||||
"RecipeShareToken",
|
||||
"RecipeShareTokenCreate",
|
||||
|
||||
24
mealie/schema/recipe/recipe_suggestion.py
Normal file
24
mealie/schema/recipe/recipe_suggestion.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from mealie.schema._mealie.mealie_model import MealieModel
|
||||
from mealie.schema.recipe.recipe import RecipeSummary, RecipeTool
|
||||
from mealie.schema.recipe.recipe_ingredient import IngredientFood
|
||||
from mealie.schema.response.pagination import RequestQuery
|
||||
|
||||
|
||||
class RecipeSuggestionQuery(RequestQuery):
|
||||
limit: int = 10
|
||||
|
||||
max_missing_foods: int = 5
|
||||
max_missing_tools: int = 5
|
||||
|
||||
include_foods_on_hand: bool = True
|
||||
include_tools_on_hand: bool = True
|
||||
|
||||
|
||||
class RecipeSuggestionResponseItem(MealieModel):
|
||||
recipe: RecipeSummary
|
||||
missing_foods: list[IngredientFood]
|
||||
missing_tools: list[RecipeTool]
|
||||
|
||||
|
||||
class RecipeSuggestionResponse(MealieModel):
|
||||
items: list[RecipeSuggestionResponseItem]
|
||||
@@ -1,5 +1,12 @@
|
||||
# This file is auto-generated by gen_schema_exports.py
|
||||
from .pagination import OrderByNullPosition, OrderDirection, PaginationBase, PaginationQuery, RecipeSearchQuery
|
||||
from .pagination import (
|
||||
OrderByNullPosition,
|
||||
OrderDirection,
|
||||
PaginationBase,
|
||||
PaginationQuery,
|
||||
RecipeSearchQuery,
|
||||
RequestQuery,
|
||||
)
|
||||
from .query_filter import (
|
||||
LogicalOperator,
|
||||
QueryFilterBuilder,
|
||||
@@ -27,6 +34,7 @@ __all__ = [
|
||||
"PaginationBase",
|
||||
"PaginationQuery",
|
||||
"RecipeSearchQuery",
|
||||
"RequestQuery",
|
||||
"SearchFilter",
|
||||
"ErrorResponse",
|
||||
"FileTokenResponse",
|
||||
|
||||
@@ -31,9 +31,7 @@ class RecipeSearchQuery(MealieModel):
|
||||
_search_seed: str | None = None
|
||||
|
||||
|
||||
class PaginationQuery(MealieModel):
|
||||
page: int = 1
|
||||
per_page: int = 50
|
||||
class RequestQuery(MealieModel):
|
||||
order_by: str | None = None
|
||||
order_by_null_position: OrderByNullPosition | None = None
|
||||
order_direction: OrderDirection = OrderDirection.desc
|
||||
@@ -47,6 +45,11 @@ class PaginationQuery(MealieModel):
|
||||
return pagination_seed
|
||||
|
||||
|
||||
class PaginationQuery(RequestQuery):
|
||||
page: int = 1
|
||||
per_page: int = 50
|
||||
|
||||
|
||||
class PaginationBase(BaseModel, Generic[DataT]):
|
||||
page: int = 1
|
||||
per_page: int = 10
|
||||
|
||||
Reference in New Issue
Block a user