2021-08-28 14:27:56 -08:00
|
|
|
from sqlalchemy.orm.session import Session
|
|
|
|
|
|
2021-08-27 20:27:20 -08:00
|
|
|
from mealie.db.models.group import Group
|
2021-08-22 16:08:37 -08:00
|
|
|
from mealie.schema.meal_plan.meal import MealPlanOut
|
|
|
|
|
from mealie.schema.user.user import GroupInDB
|
|
|
|
|
|
2021-09-19 15:31:34 -08:00
|
|
|
from ._access_model import AccessModel
|
2021-08-22 16:08:37 -08:00
|
|
|
|
|
|
|
|
|
2021-09-19 15:31:34 -08:00
|
|
|
class GroupDataAccessModel(AccessModel[GroupInDB, Group]):
|
2021-08-22 16:08:37 -08:00
|
|
|
def get_meals(self, session: Session, match_value: str, match_key: str = "name") -> list[MealPlanOut]:
|
|
|
|
|
"""A Helper function to get the group from the database and return a sorted list of
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
session (Session): SqlAlchemy Session
|
|
|
|
|
match_value (str): Match Value
|
|
|
|
|
match_key (str, optional): Match Key. Defaults to "name".
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
list[MealPlanOut]: [description]
|
|
|
|
|
"""
|
|
|
|
|
group: GroupInDB = session.query(self.sql_model).filter_by(**{match_key: match_value}).one_or_none()
|
|
|
|
|
|
|
|
|
|
return group.mealplans
|