INNER CODE UNIT · Python
init_mediator
SamWarden/user_service · src/user_service/main/mediator/main.py:27
def init_mediator(di_builder: DiBuilder) -> Mediator:
middlewares = (
LoggingMiddleware("mediator", level=logging.DEBUG),
DiMiddleware(di_builder, scopes=DiScopes(DiScope.REQUEST)),
)
command_dispatcher = CommandDispatcherImpl(middlewares=middlewares)
query_dispatcher = QueryDispatcherImpl(middlewares=middlewares)
event_observer = EventObserverImpl(middlewares=middlewares)
mediator = MediatorImpl(command_dispatcher, query_dispatcher, event_observer)
return mediator
def setup_mediator(mediator: Mediator) -> None:
mediator.register_command_handler(CreateUser, CreateUserHandler)
mediator.register_command_handler(SetUserUsername, SetUserUsernameHandler)
mediator.register_command_handler(SetUserFullName, SetUserFullNameHandler)
mediator.register_command_handler(DeleteUser, DeleteUserHandler)