Coverage for opt/mealie/lib/python3.12/site-packages/mealie/db/models/group/preferences.py: 93%

25 statements  

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

1from typing import TYPE_CHECKING, Optional 

2 

3import sqlalchemy as sa 

4import sqlalchemy.orm as orm 

5from sqlalchemy.orm import Mapped, mapped_column 

6 

7from .._model_base import BaseMixins, SqlAlchemyBase 

8from .._model_utils.auto_init import auto_init 

9from .._model_utils.guid import GUID 

10 

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

12 from .group import Group 

13 

14 

15class GroupPreferencesModel(SqlAlchemyBase, BaseMixins): 

16 __tablename__ = "group_preferences" 

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

18 

19 group_id: Mapped[GUID | None] = mapped_column(GUID, sa.ForeignKey("groups.id"), nullable=False, index=True) 

20 group: Mapped[Optional["Group"]] = orm.relationship("Group", back_populates="preferences") 

21 

22 private_group: Mapped[bool | None] = mapped_column(sa.Boolean, default=True) 

23 

24 # Deprecated (see household preferences) 

25 first_day_of_week: Mapped[int | None] = mapped_column(sa.Integer, default=0) 

26 recipe_public: Mapped[bool | None] = mapped_column(sa.Boolean, default=True) 

27 recipe_show_nutrition: Mapped[bool | None] = mapped_column(sa.Boolean, default=False) 

28 recipe_show_assets: Mapped[bool | None] = mapped_column(sa.Boolean, default=False) 

29 recipe_landscape_view: Mapped[bool | None] = mapped_column(sa.Boolean, default=False) 

30 recipe_disable_comments: Mapped[bool | None] = mapped_column(sa.Boolean, default=False) 

31 recipe_disable_amount: Mapped[bool | None] = mapped_column(sa.Boolean, default=True) 

32 

33 @auto_init() 

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

35 pass