feat: additional events dispatch (#1999)

* formatting

* add new user type

* add registration event

* publish events on new mealplan

* update UI for supported types + type updates
This commit is contained in:
Hayden
2023-01-07 11:18:08 -08:00
committed by GitHub
parent c33b14e3d2
commit fc92c39b7c
5 changed files with 177 additions and 124 deletions

View File

@@ -1,4 +1,4 @@
from fastapi import APIRouter, HTTPException, status
from fastapi import APIRouter, Depends, HTTPException, status
from mealie.core.config import get_app_settings
from mealie.repos.all_repositories import get_repositories
@@ -6,6 +6,8 @@ from mealie.routes._base import BasePublicController, controller
from mealie.schema.response import ErrorResponse
from mealie.schema.user.registration import CreateUserRegistration
from mealie.schema.user.user import UserOut
from mealie.services.event_bus_service.event_bus_service import EventBusService
from mealie.services.event_bus_service.event_types import EventTypes, EventUserSignupData
from mealie.services.user_services.registration_service import RegistrationService
router = APIRouter(prefix="/register")
@@ -13,6 +15,8 @@ router = APIRouter(prefix="/register")
@controller(router)
class RegistrationController(BasePublicController):
event_bus: EventBusService = Depends(EventBusService.create)
@router.post("", response_model=UserOut, status_code=status.HTTP_201_CREATED)
def register_new_user(self, data: CreateUserRegistration):
settings = get_app_settings()
@@ -29,4 +33,13 @@ class RegistrationController(BasePublicController):
self.translator,
)
return registration_service.register_user(data)
result = registration_service.register_user(data)
self.event_bus.dispatch(
integration_id="registration",
group_id=result.group_id,
event_type=EventTypes.user_signup,
document_data=EventUserSignupData(username=result.username, email=result.email),
)
return result