Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/users/registration.py: 92%
23 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 17:29 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 17:29 +0000
1from fastapi import APIRouter, Depends, HTTPException, status 1a
3from mealie.core.config import get_app_settings 1a
4from mealie.repos.all_repositories import get_repositories 1a
5from mealie.routes._base import BasePublicController, controller 1a
6from mealie.schema.response import ErrorResponse 1a
7from mealie.schema.user.registration import CreateUserRegistration 1a
8from mealie.schema.user.user import UserOut 1a
9from mealie.services.event_bus_service.event_bus_service import EventBusService 1a
10from mealie.services.event_bus_service.event_types import EventTypes, EventUserSignupData 1a
11from mealie.services.user_services.registration_service import RegistrationService 1a
13router = APIRouter(prefix="/register") 1a
16@controller(router) 1a
17class RegistrationController(BasePublicController): 1a
18 event_bus: EventBusService = Depends(EventBusService.as_dependency) 1a
20 @router.post("", response_model=UserOut, status_code=status.HTTP_201_CREATED) 1a
21 def register_new_user(self, data: CreateUserRegistration): 1a
22 settings = get_app_settings() 1b
24 if not settings.ALLOW_SIGNUP and data.group_token is None or data.group_token == "": 24 ↛ 25line 24 didn't jump to line 25 because the condition on line 24 was never true1b
25 raise HTTPException(
26 status_code=status.HTTP_403_FORBIDDEN,
27 detail=ErrorResponse.respond("User Registration is Disabled"),
28 )
30 registration_service = RegistrationService( 1b
31 self.logger,
32 get_repositories(self.session, group_id=None, household_id=None),
33 self.translator,
34 )
36 result = registration_service.register_user(data) 1b
38 self.event_bus.dispatch( 1b
39 integration_id="registration",
40 group_id=result.group_id,
41 household_id=result.household_id,
42 event_type=EventTypes.user_signup,
43 document_data=EventUserSignupData(username=result.username, email=result.email),
44 )
46 return result 1b