Refactor Customer and User Repository Methods for ObjectID Handling

- Updated GetByIDs methods in customer and user repositories to convert string IDs to bson.ObjectID, ensuring proper handling of MongoDB object IDs.
- Enhanced error handling for ID conversion to provide clearer feedback when invalid IDs are provided.
- Modified notification service calls in customer and user services to use context.Background() for asynchronous email sending, improving concurrency management.
- Ensured consistent handling of company IDs in the customer repository for retrieving customers by companies.
This commit is contained in:
n.nakhostin
2025-10-01 13:19:34 +03:30
parent 735a808038
commit 20aee91467
6 changed files with 44 additions and 11 deletions
+3 -3
View File
@@ -118,7 +118,7 @@ func (s *userService) Register(ctx context.Context, form *CreateUserForm) (*User
"role": user.Role,
})
s.notification.SendEmail(ctx, notification.Model{
go s.notification.SendEmail(context.Background(), notification.Model{
Recipient: form.Email,
Title: "Welcome to Opplens",
Message: fmt.Sprintf("Welcome to Opplens\nUsername: %s\nPassword: %s", strings.ToLower(form.Username), form.Password),
@@ -229,7 +229,7 @@ func (s *userService) UpdateStatus(ctx context.Context, id string, form *UpdateU
"status": form.Status,
})
s.notification.SendEmail(ctx, notification.Model{
go s.notification.SendEmail(context.Background(), notification.Model{
Recipient: user.Email,
Title: "Account Status Updated",
Message: fmt.Sprintf("Your account has been %s", strings.ToUpper(form.Status)),
@@ -495,7 +495,7 @@ func (s *userService) ChangePassword(ctx context.Context, userID string, form *C
"user_id": userID,
})
s.notification.SendEmail(ctx, notification.Model{
go s.notification.SendEmail(context.Background(), notification.Model{
Recipient: user.Email,
Title: "Password Reset Success",
Message: "Your password has been reset successfully",