added mail functionality

This commit is contained in:
$(pass /github/name)
2024-07-03 12:35:41 +02:00
parent 6d34d99835
commit 96f008d67e
10 changed files with 132 additions and 24 deletions

View File

@@ -11,11 +11,12 @@ import (
)
type UserController struct {
service services.UserService
service services.UserService
emailService services.EmailService
}
func NewUserController(service services.UserService) *UserController {
return &UserController{service}
func NewUserController(service services.UserService, emailService *services.EmailService) *UserController {
return &UserController{service, *emailService}
}
func (uc *UserController) RegisterUser(w http.ResponseWriter, r *http.Request) {
@@ -32,6 +33,15 @@ func (uc *UserController) RegisterUser(w http.ResponseWriter, r *http.Request) {
logger.Error.Printf("Couldn't register User: %v", err)
return
}
// Send welcome email to the user
if err := uc.emailService.SendWelcomeEmail(user); err != nil {
logger.Error.Printf("Failed to send welcome email to user: %v", err)
}
// Notify admin of new user registration
if err := uc.emailService.NotifyAdminOfNewUser(user.Email); err != nil {
logger.Error.Printf("Failed to notify admin of new user registration: %v", err)
}
w.WriteHeader(http.StatusCreated)
}