def METHOD_NAME(self, item_id: UUID4 | str):
    match_attr = "slug" if isinstance(item_id, str) else "id"
    cookbook = self.repo.METHOD_NAME(item_id, match_attr)
    if cookbook is None:
        raise HTTPException(status_code=404)
    return cookbook.cast(
        RecipeCookBook,
        recipes=self.repos.recipes.by_group(self.group_id).by_category_and_tags(
            cookbook.categories,
            cookbook.tags,
            cookbook.tools,
            cookbook.require_all_categories,
            cookbook.require_all_tags,
            cookbook.require_all_tools,
        ),
    )