feedback error handling

This commit is contained in:
Mazyar
2026-05-31 01:47:28 +03:30
parent bca94cd69a
commit 970860a3d3
3 changed files with 31 additions and 10 deletions
+13 -6
View File
@@ -1,6 +1,7 @@
package feedback
import (
"errors"
"tm/internal/customer"
"tm/internal/user"
"tm/pkg/logger"
@@ -97,10 +98,10 @@ func (h *Handler) Get(c echo.Context) error {
feedback, err := h.service.Get(c.Request().Context(), feedbackID)
if err != nil {
if err == ErrFeedbackNotFound {
if errors.Is(err, ErrFeedbackNotFound) {
return response.NotFound(c, "Feedback not found")
}
if err == ErrFeedbackDeleted {
if errors.Is(err, ErrFeedbackDeleted) {
return response.NotFound(c, "Feedback has been deleted")
}
return response.InternalServerError(c, "Failed to retrieve feedback")
@@ -262,7 +263,10 @@ func (h *Handler) PublicGet(c echo.Context) error {
feedback, err := h.service.Get(c.Request().Context(), feedbackID)
if err != nil {
return response.BadRequest(c, "Failed to get feedback", "")
if errors.Is(err, ErrFeedbackNotFound) {
return response.NotFound(c, "Feedback not found")
}
return response.InternalServerError(c, "Failed to get feedback")
}
return response.Success(c, feedback, "Feedback retrieved successfully")
@@ -288,13 +292,16 @@ func (h *Handler) PublicGetByTenderID(c echo.Context) error {
}
companyID, err := user.GetCompanyIDFromContext(c)
if err != nil {
return response.BadRequest(c, "Company ID required", "User must be associated with a company")
if err != nil || companyID == "" {
return response.Unauthorized(c, "User must be associated with a company")
}
feedback, err := h.service.GetByTenderID(c.Request().Context(), tenderID, companyID)
if err != nil {
return response.BadRequest(c, "Failed to get feedback", "")
if errors.Is(err, ErrFeedbackNotFound) {
return response.NotFound(c, "Feedback not found")
}
return response.InternalServerError(c, "Failed to get feedback")
}
return response.Success(c, feedback, "Feedback retrieved successfully")