@@ -0,0 +1,26 @@
|
||||
"""Рецепты периода: явный 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()
|
||||
)
|
||||
Reference in New Issue
Block a user