Skip to content

Commit 0ed1849

Browse files
committed
Fix notification email listener
1 parent d8c662c commit 0ed1849

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

api/pkg/di/container.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ func NewContainer(projectID string, version string) (container *Container) {
124124
container.RegisterEventRoutes()
125125

126126
container.RegisterNotificationListeners()
127+
container.RegisterEmailNotificationListeners()
127128

128129
container.RegisterBillingRoutes()
129130
container.RegisterBillingListeners()
@@ -853,6 +854,16 @@ func (container *Container) UserEmailFactory() (factory emails.UserEmailFactory)
853854
})
854855
}
855856

857+
// NotificationEmailFactory creates a new instance of emails.NotificationEmailFactory
858+
func (container *Container) NotificationEmailFactory() (factory emails.NotificationEmailFactory) {
859+
container.logger.Debug("creating emails.UserEmailFactory")
860+
return emails.NewHermesNotificationEmailFactory(&emails.HermesGeneratorConfig{
861+
AppURL: os.Getenv("APP_URL"),
862+
AppName: os.Getenv("APP_NAME"),
863+
AppLogoURL: os.Getenv("APP_LOGO_URL"),
864+
})
865+
}
866+
856867
// MessageThreadService creates a new instance of services.MessageService
857868
func (container *Container) MessageThreadService() (service *services.MessageThreadService) {
858869
container.logger.Debug(fmt.Sprintf("creating %T", service))
@@ -863,6 +874,19 @@ func (container *Container) MessageThreadService() (service *services.MessageThr
863874
)
864875
}
865876

877+
// EmailNotificationService creates a new instance of services.EmailNotificationService
878+
func (container *Container) EmailNotificationService() (service *services.EmailNotificationService) {
879+
container.logger.Debug(fmt.Sprintf("creating %T", service))
880+
return services.NewEmailNotificationService(
881+
container.Logger(),
882+
container.Tracer(),
883+
container.UserRepository(),
884+
container.NotificationEmailFactory(),
885+
container.Mailer(),
886+
container.Cache(),
887+
)
888+
}
889+
866890
// MessageHandler creates a new instance of handlers.MessageHandler
867891
func (container *Container) MessageHandler() (handler *handlers.MessageHandler) {
868892
container.logger.Debug(fmt.Sprintf("creating %T", handler))
@@ -1047,6 +1071,20 @@ func (container *Container) RegisterMessageThreadListeners() {
10471071
}
10481072
}
10491073

1074+
// RegisterEmailNotificationListeners registers event listeners for listeners.EmailNotificationListener
1075+
func (container *Container) RegisterEmailNotificationListeners() {
1076+
container.logger.Debug(fmt.Sprintf("registering listners for %T", listeners.EmailNotificationListener{}))
1077+
_, routes := listeners.NewEmailNotificationListener(
1078+
container.Logger(),
1079+
container.Tracer(),
1080+
container.EmailNotificationService(),
1081+
)
1082+
1083+
for event, handler := range routes {
1084+
container.EventDispatcher().Subscribe(event, handler)
1085+
}
1086+
}
1087+
10501088
// RegisterNotificationListeners registers event listeners for listeners.PhoneNotificationListener
10511089
func (container *Container) RegisterNotificationListeners() {
10521090
container.logger.Debug(fmt.Sprintf("registering listners for %T", listeners.PhoneNotificationListener{}))

0 commit comments

Comments
 (0)