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

20 statements  

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

1from fastapi import Depends, HTTPException 

2 

3from mealie.routes._base.base_controllers import BaseUserController 

4from mealie.routes._base.controller import controller 

5from mealie.routes._base.routers import UserAPIRouter 

6from mealie.schema.household.household import HouseholdSummary 

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

8 

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

10 

11 

12@controller(router) 

13class GroupHouseholdsController(BaseUserController): 

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

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

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

17 

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

19 return response 

20 

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

22 def get_one_household(self, household_slug: str): 

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

24 

25 if not household: 

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

27 return household.cast(HouseholdSummary)