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:
@@ -198,6 +198,9 @@ func (r *feedbackRepository) GetByTenderIDForCustomer(ctx context.Context, tende
|
|||||||
|
|
||||||
result, err := r.repo.FindOne(ctx, filter)
|
result, err := r.repo.FindOne(ctx, filter)
|
||||||
if err != nil {
|
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{}{
|
r.logger.Error("Failed to get feedback by tender ID and customer ID", map[string]interface{}{
|
||||||
"tender_id": tenderID,
|
"tender_id": tenderID,
|
||||||
"customer_id": customerID,
|
"customer_id": customerID,
|
||||||
|
|||||||
@@ -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) {
|
func (s *feedbackService) GetByTenderIDForCustomer(ctx context.Context, tenderID, customerID string) (*FeedbackResponse, error) {
|
||||||
feedback, err := s.feedbackRepo.GetByTenderIDForCustomer(ctx, tenderID, customerID)
|
feedback, err := s.feedbackRepo.GetByTenderIDForCustomer(ctx, tenderID, customerID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.logger.Error("Failed to get feedback by tender ID for customer", map[string]interface{}{
|
if !errors.Is(err, ErrFeedbackNotFound) {
|
||||||
"tender_id": tenderID,
|
s.logger.Error("Failed to get feedback by tender ID for customer", map[string]interface{}{
|
||||||
"customer_id": customerID,
|
"tender_id": tenderID,
|
||||||
"error": err.Error(),
|
"customer_id": customerID,
|
||||||
})
|
"error": err.Error(),
|
||||||
|
})
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user