Improve error handling in feedback retrieval by returning a specific error when feedback is not found for a given tender ID and customer ID.

This commit is contained in:
Mazyar
2026-06-02 21:43:23 +03:30
parent 2457b76df9
commit ea792f54cd
2 changed files with 10 additions and 5 deletions
+3
View File
@@ -198,6 +198,9 @@ func (r *feedbackRepository) GetByTenderIDForCustomer(ctx context.Context, tende
result, err := r.repo.FindOne(ctx, filter)
if err != nil {
if errors.Is(err, orm.ErrDocumentNotFound) {
return nil, ErrFeedbackNotFound
}
r.logger.Error("Failed to get feedback by tender ID and customer ID", map[string]interface{}{
"tender_id": tenderID,
"customer_id": customerID,
+2
View File
@@ -187,11 +187,13 @@ func (s *feedbackService) GetByTenderID(ctx context.Context, tenderID, companyID
func (s *feedbackService) GetByTenderIDForCustomer(ctx context.Context, tenderID, customerID string) (*FeedbackResponse, error) {
feedback, err := s.feedbackRepo.GetByTenderIDForCustomer(ctx, tenderID, customerID)
if err != nil {
if !errors.Is(err, ErrFeedbackNotFound) {
s.logger.Error("Failed to get feedback by tender ID for customer", map[string]interface{}{
"tender_id": tenderID,
"customer_id": customerID,
"error": err.Error(),
})
}
return nil, err
}