Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/groups/controller_group_households.py: 91%

20 statements  

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

1from fastapi import Depends, HTTPException 1a

2 

3from mealie.routes._base.base_controllers import BaseUserController 1a

4from mealie.routes._base.controller import controller 1a

5from mealie.routes._base.routers import UserAPIRouter 1a

6from mealie.schema.household.household import HouseholdSummary 1a

7from mealie.schema.response.pagination import PaginationBase, PaginationQuery 1a

8 

9router = UserAPIRouter(prefix="/groups/households", tags=["Groups: Households"]) 1a

10 

11 

12@controller(router) 1a

13class GroupHouseholdsController(BaseUserController): 1a

14 @router.get("", response_model=PaginationBase[HouseholdSummary]) 1a

15 def get_all_households(self, q: PaginationQuery = Depends(PaginationQuery)): 1a

16 response = self.repos.households.page_all(pagination=q, override=HouseholdSummary) 1b

17 

18 response.set_pagination_guides(router.url_path_for("get_all_households"), q.model_dump()) 1b

19 return response 1b

20 

21 @router.get("/{household_slug}", response_model=HouseholdSummary) 1a

22 def get_one_household(self, household_slug: str): 1a

23 household = self.repos.households.get_by_slug_or_id(household_slug) 1b

24 

25 if not household: 25 ↛ 27line 25 didn't jump to line 27 because the condition on line 25 was always true1b

26 raise HTTPException(status_code=404, detail="Household not found") 1b

27 return household.cast(HouseholdSummary)