Coverage for opt/mealie/lib/python3.12/site-packages/mealie/db/models/household/recipe_action.py: 88%

22 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 03:04 +0000

1from typing import TYPE_CHECKING 

2 

3from sqlalchemy import ForeignKey, String 

4from sqlalchemy.orm import Mapped, mapped_column, relationship 

5 

6from .._model_base import BaseMixins, SqlAlchemyBase 

7from .._model_utils.auto_init import auto_init 

8from .._model_utils.guid import GUID 

9 

10if TYPE_CHECKING: 10 ↛ 11line 10 didn't jump to line 11 because the condition on line 10 was never true

11 from ..group import Group 

12 from .household import Household 

13 

14 

15class GroupRecipeAction(SqlAlchemyBase, BaseMixins): 

16 __tablename__ = "recipe_actions" 

17 id: Mapped[GUID] = mapped_column(GUID, primary_key=True, default=GUID.generate) 

18 group_id: Mapped[GUID] = mapped_column(GUID, ForeignKey("groups.id"), index=True) 

19 group: Mapped["Group"] = relationship("Group", back_populates="recipe_actions", single_parent=True) 

20 household_id: Mapped[GUID | None] = mapped_column(GUID, ForeignKey("households.id"), index=True) 

21 household: Mapped["Household"] = relationship("Household", back_populates="recipe_actions") 

22 

23 action_type: Mapped[str] = mapped_column(String, index=True) 

24 title: Mapped[str] = mapped_column(String, index=True) 

25 url: Mapped[str] = mapped_column(String) 

26 

27 @auto_init() 

28 def __init__(self, **_) -> None: 

29 pass