diff --git a/internal/inquiry/service.go b/internal/inquiry/service.go index c37bb4f..b32ea9d 100644 --- a/internal/inquiry/service.go +++ b/internal/inquiry/service.go @@ -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(),