Coverage for opt/mealie/lib/python3.12/site-packages/mealie/repos/repository_meals.py: 83%
19 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:48 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:48 +0000
1from datetime import UTC, datetime 1b
3from sqlalchemy import select 1b
5from mealie.db.models.household import GroupMealPlan 1b
6from mealie.schema.meal_plan.new_meal import ReadPlanEntry 1b
8from .repository_generic import HouseholdRepositoryGeneric 1b
11class RepositoryMeals(HouseholdRepositoryGeneric[ReadPlanEntry, GroupMealPlan]): 1b
12 def get_today(self, tz=UTC) -> list[ReadPlanEntry]: 1b
13 if not self.household_id: 13 ↛ 14line 13 didn't jump to line 14 because the condition on line 13 was never true
14 raise Exception("household_id not set")
16 today = datetime.now(tz=tz).date()
17 stmt = select(GroupMealPlan).filter(
18 GroupMealPlan.date == today, GroupMealPlan.household_id == self.household_id
19 )
20 plans = self.session.execute(stmt).scalars().all()
21 return [self.schema.model_validate(x) for x in plans]
23 def get_meals_by_date_range(self, start_date: datetime, end_date: datetime) -> list[ReadPlanEntry]: 1b
24 if not self.household_id: 24 ↛ 25line 24 didn't jump to line 25 because the condition on line 24 was never true
25 raise Exception("household_id not set")
27 stmt = select(GroupMealPlan).filter(
28 GroupMealPlan.date >= start_date.date(),
29 GroupMealPlan.date <= end_date.date(),
30 GroupMealPlan.household_id == self.household_id,
31 )
32 plans = self.session.execute(stmt).scalars().all()
33 return [self.schema.model_validate(x) for x in plans]