Merge pull request 'error message for duplication' (#12) from TM-295 into develop

Reviewed-on: https://repo.ravanertebat.com/TM/tm_back/pulls/12
Reviewed-by: Nima Nakhsotin <n.nakhostin@ravanertebat.com>
This commit is contained in:
Nima Nakhsotin
2025-12-10 14:28:22 +03:30
+35 -35
View File
@@ -46,44 +46,44 @@ func (s *inquiryService) Create(ctx context.Context, form *CreateInquiryForm) (*
})
// Check for duplicate pending inquiries by email
// existingInquiry, err := s.repository.CheckPendingInquiry(ctx, form.WorkEmail)
// if err != nil {
// s.logger.Error("Failed to check for duplicate inquiry by email", map[string]interface{}{
// "error": err.Error(),
// "work_email": form.WorkEmail,
// })
// return nil, errors.New("failed to validate inquiry")
// }
existingInquiry, err := s.repository.CheckPendingInquiry(ctx, form.WorkEmail)
if err != nil {
s.logger.Error("Failed to check for duplicate inquiry by email", map[string]interface{}{
"error": err.Error(),
"work_email": form.WorkEmail,
})
return nil, errors.New("failed to validate inquiry")
}
// if existingInquiry != nil {
// s.logger.Warn("Duplicate inquiry attempt by email", map[string]interface{}{
// "work_email": form.WorkEmail,
// "existing_id": existingInquiry.ID,
// "existing_status": existingInquiry.Status,
// "created_at": existingInquiry.CreatedAt,
// })
// return nil, NewDuplicateInquiryError("email", existingInquiry.ID.Hex(), existingInquiry.Status, existingInquiry.CreatedAt)
// }
if existingInquiry != nil {
s.logger.Warn("Duplicate inquiry attempt by email", map[string]interface{}{
"work_email": form.WorkEmail,
"existing_id": existingInquiry.ID,
"existing_status": existingInquiry.Status,
"created_at": existingInquiry.CreatedAt,
})
return nil, NewDuplicateInquiryError("email", existingInquiry.ID.Hex(), existingInquiry.Status, existingInquiry.CreatedAt)
}
// Check for duplicate pending inquiries by phone number
// existingInquiryByPhone, err := s.repository.CheckPendingInquiryByPhone(ctx, form.PhoneNumber)
// if err != nil {
// s.logger.Error("Failed to check for duplicate inquiry by phone", map[string]interface{}{
// "error": err.Error(),
// "phone_number": form.PhoneNumber,
// })
// return nil, errors.New("failed to validate inquiry")
// }
existingInquiryByPhone, err := s.repository.CheckPendingInquiryByPhone(ctx, form.PhoneNumber)
if err != nil {
s.logger.Error("Failed to check for duplicate inquiry by phone", map[string]interface{}{
"error": err.Error(),
"phone_number": form.PhoneNumber,
})
return nil, errors.New("failed to validate inquiry")
}
// if existingInquiryByPhone != nil {
// s.logger.Warn("Duplicate inquiry attempt by phone", map[string]interface{}{
// "phone_number": form.PhoneNumber,
// "existing_id": existingInquiryByPhone.ID,
// "existing_status": existingInquiryByPhone.Status,
// "created_at": existingInquiryByPhone.CreatedAt,
// })
// return nil, NewDuplicateInquiryError("phone", existingInquiryByPhone.ID.Hex(), existingInquiryByPhone.Status, existingInquiryByPhone.CreatedAt)
// }
if existingInquiryByPhone != nil {
s.logger.Warn("Duplicate inquiry attempt by phone", map[string]interface{}{
"phone_number": form.PhoneNumber,
"existing_id": existingInquiryByPhone.ID,
"existing_status": existingInquiryByPhone.Status,
"created_at": existingInquiryByPhone.CreatedAt,
})
return nil, NewDuplicateInquiryError("phone", existingInquiryByPhone.ID.Hex(), existingInquiryByPhone.Status, existingInquiryByPhone.CreatedAt)
}
// Create inquiry entity
inquiry := &Inquiry{
@@ -94,7 +94,7 @@ func (s *inquiryService) Create(ctx context.Context, form *CreateInquiryForm) (*
}
// Save to database
err := s.repository.Create(ctx, inquiry)
err = s.repository.Create(ctx, inquiry)
if err != nil {
s.logger.Error("Failed to create inquiry", map[string]interface{}{
"error": err.Error(),