diff --git a/core/appmodule/v2/handlers.go b/core/appmodule/v2/handlers.go index abb9e95a1d..91c488773c 100644 --- a/core/appmodule/v2/handlers.go +++ b/core/appmodule/v2/handlers.go @@ -19,12 +19,12 @@ type ( // msg handler type PreMsgRouter interface { - // Register will register a specific message handler hooking into the message with + // RegisterPreHandler will register a specific message handler hooking into the message with // the provided name. - Register(msgName string, handler PreMsgHandler) - // RegisterGlobal will register a global message handler hooking into any message + RegisterPreHandler(msgName string, handler PreMsgHandler) + // RegisterGlobalPreHandler will register a global message handler hooking into any message // being executed. - RegisterGlobal(handler PreMsgHandler) + RegisterGlobalPreHandler(handler PreMsgHandler) } type HasPreMsgHandlers interface { @@ -40,11 +40,15 @@ type HasMsgHandlers interface { } type PostMsgRouter interface { - // Register will register a specific message handler hooking after the execution of message with + // RegisterPostHandler will register a specific message handler hooking after the execution of message with // the provided name. - Register(msgName string, handler PostMsgHandler) - // RegisterGlobal will register a global message handler hooking after the execution of any message. - RegisterGlobal(handler PreMsgHandler) + RegisterPostHandler(msgName string, handler PostMsgHandler) + // RegisterGlobalPostHandler will register a global message handler hooking after the execution of any message. + RegisterGlobalPostHandler(handler PostMsgHandler) +} + +type HasPostMsgHandlers interface { + RegisterPostMsgHandlers(router PostMsgRouter) } // query handler diff --git a/runtime/v2/manager.go b/runtime/v2/manager.go index 093140bcd3..9fe4c5fb80 100644 --- a/runtime/v2/manager.go +++ b/runtime/v2/manager.go @@ -424,7 +424,14 @@ func (m *MM[T]) RegisterServices(app *App[T]) error { } } - // TODO: register pre and post msg + // register pre and post msg + if module, ok := module.(appmodulev2.HasPreMsgHandlers); ok { + module.RegisterPreMsgHandlers(app.msgRouterBuilder) + } + + if module, ok := module.(appmodulev2.HasPostMsgHandlers); ok { + module.RegisterPostMsgHandlers(app.msgRouterBuilder) + } } return nil