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
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from fastapi import Depends, HTTPException
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
9router = UserAPIRouter(prefix="/groups/households", tags=["Groups: Households"])
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)
18 response.set_pagination_guides(router.url_path_for("get_all_households"), q.model_dump())
19 return response
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)
25 if not household:
26 raise HTTPException(status_code=404, detail="Household not found")
27 return household.cast(HouseholdSummary)