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

53 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-25 15:32 +0000

1from typing import TYPE_CHECKING, Optional 1a

2 

3from sqlalchemy import Boolean, ForeignKey, String, orm 1a

4from sqlalchemy.orm import Mapped, mapped_column 1a

5 

6from .._model_base import BaseMixins, SqlAlchemyBase 1a

7from .._model_utils.auto_init import auto_init 1a

8from .._model_utils.guid import GUID 1a

9 

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

11 from ..group import Group 

12 from .household import Household 

13 

14 

15class GroupEventNotifierOptionsModel(SqlAlchemyBase, BaseMixins): 1a

16 __tablename__ = "group_events_notifier_options" 1a

17 

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

19 event_notifier_id: Mapped[GUID] = mapped_column(GUID, ForeignKey("group_events_notifiers.id"), nullable=False) 1a

20 

21 recipe_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

22 recipe_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

23 recipe_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

24 

25 user_signup: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

26 

27 data_migrations: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

28 data_export: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

29 data_import: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

30 

31 mealplan_entry_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

32 

33 shopping_list_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

34 shopping_list_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

35 shopping_list_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

36 

37 cookbook_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

38 cookbook_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

39 cookbook_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

40 

41 tag_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

42 tag_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

43 tag_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

44 

45 category_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

46 category_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

47 category_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

48 

49 label_created: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

50 label_updated: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

51 label_deleted: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False) 1a

52 

53 @auto_init() 1a

54 def __init__(self, **_) -> None: 1a

55 pass 1bcdefghijk

56 

57 

58class GroupEventNotifierModel(SqlAlchemyBase, BaseMixins): 1a

59 __tablename__ = "group_events_notifiers" 1a

60 

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

62 name: Mapped[str] = mapped_column(String, nullable=False) 1a

63 enabled: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False) 1a

64 apprise_url: Mapped[str] = mapped_column(String, nullable=False) 1a

65 

66 group: Mapped[Optional["Group"]] = orm.relationship( 1a

67 "Group", back_populates="group_event_notifiers", single_parent=True 

68 ) 

69 group_id: Mapped[GUID | None] = mapped_column(GUID, ForeignKey("groups.id"), index=True) 1a

70 household: Mapped[Optional["Household"]] = orm.relationship( 1a

71 "Household", back_populates="group_event_notifiers", single_parent=True 

72 ) 

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

74 

75 options: Mapped[GroupEventNotifierOptionsModel] = orm.relationship( 1a

76 GroupEventNotifierOptionsModel, uselist=False, cascade="all, delete-orphan" 

77 ) 

78 

79 @auto_init() 1a

80 def __init__(self, **_) -> None: 1a

81 pass 1bcdefghijk