package inquiry import ( "errors" "strings" "tm/pkg/response" "github.com/labstack/echo/v4" ) func handleBindError(c echo.Context, err error) error { return response.BadRequest(c, "Invalid request format", err.Error()) } func handleValidationError(c echo.Context, err error) error { return response.ValidationError(c, "Please fix the validation errors", FormatValidationErrors(err)) } func handleServiceError(c echo.Context, err error, fallback string) error { if err == nil { return nil } if errors.Is(err, ErrInquiryNotFound) { return response.NotFound(c, "Inquiry not found") } var transitionErr *InvalidStatusTransitionError if errors.As(err, &transitionErr) { return response.BadRequest(c, transitionErr.Error(), "") } if strings.Contains(err.Error(), "cannot be updated") { return response.BadRequest(c, err.Error(), "") } return response.InternalServerError(c, fallback) }