"""Рецепты периода: явный 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() )