Files
site/WESP_REL/app/services/period_recipes_query.py
2026-07-17 12:57:18 +03:00

27 lines
917 B
Python

"""Рецепты периода: явный join через period_recipes (легаси), soft-delete и порядок."""
from __future__ import annotations
from typing import List
from sqlalchemy import select
from app import db
from app.models import PeriodRecipe, Recipe
def recipes_for_period_ordered(period_id: str) -> List[Recipe]:
"""Рецепты периода в порядке рейса; исключает soft-deleted связи и рецепты."""
return list(
db.session.execute(
select(Recipe)
.join(PeriodRecipe, PeriodRecipe.recipe_id == Recipe.id)
.where(
PeriodRecipe.period_id == period_id,
PeriodRecipe.is_deleted.is_(False),
Recipe.is_deleted.is_(False),
)
.order_by(PeriodRecipe.order.asc(), PeriodRecipe.created_at.asc())
).scalars().all()
)