From e2d443b743521f34955f542d5bec55227baae485 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Tue, 5 Aug 2025 16:13:52 +0000 Subject: [PATCH] remove RecipeCookBook schema and related logic --- .../explore/controller_public_cookbooks.py | 17 ++++------------- .../routes/households/controller_cookbooks.py | 8 +++----- mealie/schema/cookbook/__init__.py | 3 +-- mealie/schema/cookbook/cookbook.py | 8 -------- 4 files changed, 8 insertions(+), 28 deletions(-) diff --git a/mealie/routes/explore/controller_public_cookbooks.py b/mealie/routes/explore/controller_public_cookbooks.py index 902b27e12..836f7d953 100644 --- a/mealie/routes/explore/controller_public_cookbooks.py +++ b/mealie/routes/explore/controller_public_cookbooks.py @@ -5,7 +5,7 @@ from pydantic import UUID4 from mealie.routes._base import controller from mealie.routes._base.base_controllers import BasePublicHouseholdExploreController -from mealie.schema.cookbook.cookbook import ReadCookBook, RecipeCookBook +from mealie.schema.cookbook.cookbook import ReadCookBook from mealie.schema.make_dependable import make_dependable from mealie.schema.response.pagination import PaginationBase, PaginationQuery @@ -39,8 +39,8 @@ class PublicCookbooksController(BasePublicHouseholdExploreController): response.set_pagination_guides(self.get_explore_url_path(router.url_path_for("get_all")), q.model_dump()) return response - @router.get("/{item_id}", response_model=RecipeCookBook) - def get_one(self, item_id: UUID4 | str) -> RecipeCookBook: + @router.get("/{item_id}", response_model=ReadCookBook) + def get_one(self, item_id: UUID4 | str) -> ReadCookBook: NOT_FOUND_EXCEPTION = HTTPException(404, "cookbook not found") if isinstance(item_id, UUID): match_attr = "id" @@ -58,13 +58,4 @@ class PublicCookbooksController(BasePublicHouseholdExploreController): if not household or household.preferences.private_household: raise NOT_FOUND_EXCEPTION - cross_household_recipes = self.cross_household_repos.recipes - recipes = cross_household_recipes.page_all( - PaginationQuery( - page=1, - per_page=-1, - query_filter="settings.public = TRUE AND household.preferences.privateHousehold = FALSE", - ), - cookbook=cookbook, - ) - return cookbook.cast(RecipeCookBook, recipes=recipes.items) + return cookbook diff --git a/mealie/routes/households/controller_cookbooks.py b/mealie/routes/households/controller_cookbooks.py index 99f4c97df..2ed385c64 100644 --- a/mealie/routes/households/controller_cookbooks.py +++ b/mealie/routes/households/controller_cookbooks.py @@ -11,7 +11,7 @@ from mealie.routes._base import BaseCrudController, controller from mealie.routes._base.mixins import HttpRepo from mealie.routes._base.routers import MealieCrudRoute from mealie.schema import mapper -from mealie.schema.cookbook import CreateCookBook, ReadCookBook, RecipeCookBook, SaveCookBook, UpdateCookBook +from mealie.schema.cookbook import CreateCookBook, ReadCookBook, SaveCookBook, UpdateCookBook from mealie.schema.cookbook.cookbook import CookBookPagination from mealie.schema.response.pagination import PaginationQuery from mealie.services.event_bus_service.event_types import ( @@ -101,7 +101,7 @@ class GroupCookbookController(BaseCrudController): return all_updated - @router.get("/{item_id}", response_model=RecipeCookBook) + @router.get("/{item_id}", response_model=ReadCookBook) def get_one(self, item_id: UUID4 | str): if isinstance(item_id, UUID): match_attr = "id" @@ -114,12 +114,10 @@ class GroupCookbookController(BaseCrudController): # Allow fetching other households' cookbooks cookbook = self.group_cookbooks.get_one(item_id, match_attr) - if cookbook is None: raise HTTPException(status_code=404) - recipe_pagination = self.repos.recipes.page_all(PaginationQuery(page=1, per_page=-1, cookbook=cookbook)) - return cookbook.cast(RecipeCookBook, recipes=recipe_pagination.items) + return cookbook @router.put("/{item_id}", response_model=ReadCookBook) def update_one(self, item_id: str, data: CreateCookBook): diff --git a/mealie/schema/cookbook/__init__.py b/mealie/schema/cookbook/__init__.py index 9559f84f5..8a358571a 100644 --- a/mealie/schema/cookbook/__init__.py +++ b/mealie/schema/cookbook/__init__.py @@ -1,11 +1,10 @@ # This file is auto-generated by gen_schema_exports.py -from .cookbook import CookBookPagination, CreateCookBook, ReadCookBook, RecipeCookBook, SaveCookBook, UpdateCookBook +from .cookbook import CookBookPagination, CreateCookBook, ReadCookBook, SaveCookBook, UpdateCookBook __all__ = [ "CookBookPagination", "CreateCookBook", "ReadCookBook", - "RecipeCookBook", "SaveCookBook", "UpdateCookBook", ] diff --git a/mealie/schema/cookbook/cookbook.py b/mealie/schema/cookbook/cookbook.py index 509f3dc05..66ba3b668 100644 --- a/mealie/schema/cookbook/cookbook.py +++ b/mealie/schema/cookbook/cookbook.py @@ -7,7 +7,6 @@ from slugify import slugify from mealie.core.root_logger import get_logger from mealie.db.models.recipe import RecipeModel from mealie.schema._mealie import MealieModel -from mealie.schema.recipe.recipe import RecipeSummary from mealie.schema.response.pagination import PaginationBase from mealie.schema.response.query_filter import QueryFilterBuilder, QueryFilterJSON @@ -84,10 +83,3 @@ class ReadCookBook(UpdateCookBook): class CookBookPagination(PaginationBase): items: list[ReadCookBook] - - -class RecipeCookBook(ReadCookBook): - group_id: UUID4 - household_id: UUID4 - recipes: list[RecipeSummary] - model_config = ConfigDict(from_attributes=True)