Skip to content

recipes

API routes for managing recipes (CRUD operations).

create_recipe

create_recipe(
    recipe_in: RecipeCreate, service: RecipeManagementService, user_id: UUID
) -> RecipeResponse

Create a new recipe.

create_recipes

create_recipes(
    batch_in: BatchRecipeCreate, service: RecipeManagementService, user_id: UUID
) -> BatchRecipeResponse

Create multiple recipes in a single atomic operation.

delete_recipe

delete_recipe(recipe_id: UUID, service: RecipeManagementService, user_id: UUID) -> None

Delete a recipe by ID. Only the owner can delete.

get_recipe_shares

get_recipe_shares(
    recipe_id: UUID, service: RecipeShareService, user_id: UUID
) -> list[CollaboratorResponse]

List collaborators for a recipe. Only the owner can view this.

get_recipes

get_recipes(
    service: RecipeManagementService,
    user_id: UUID,
    limit: int | None = None,
    offset: int = 0,
    ownership: str | None = None,
) -> PaginatedRecipeResponse

Retrieve recipes with optional pagination.

search_recipes

search_recipes(
    service: RecipeManagementService,
    user_id: UUID,
    recipe_id: UUID | None = None,
    title: str | None = None,
    category: str | None = None,
    is_veggie: bool | None = None,
    season: str | None = None,
    limit: int | None = None,
    offset: int = 0,
    ownership: str | None = None,
) -> PaginatedRecipeResponse

Search recipes with optional filters and pagination.