2023-07-21 05:38:29 -05:00
|
|
|
package expr
|
|
|
|
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/util/errutil"
|
|
|
|
)
|
|
|
|
|
2023-08-22 05:52:24 -05:00
|
|
|
var ConversionError = errutil.BadRequest("sse.readDataError").MustTemplate(
|
2023-07-21 05:38:29 -05:00
|
|
|
"[{{ .Public.refId }}] got error: {{ .Error }}",
|
|
|
|
errutil.WithPublic(
|
|
|
|
"failed to read data from from query {{ .Public.refId }}: {{ .Public.error }}",
|
|
|
|
),
|
|
|
|
)
|
|
|
|
|
|
|
|
func MakeConversionError(refID string, err error) error {
|
|
|
|
data := errutil.TemplateData{
|
|
|
|
// Conversion errors should only have meta information in errors
|
2023-08-30 10:46:47 -05:00
|
|
|
Public: map[string]any{
|
2023-07-21 05:38:29 -05:00
|
|
|
"refId": refID,
|
|
|
|
"error": err.Error(),
|
|
|
|
},
|
|
|
|
Error: err,
|
|
|
|
}
|
|
|
|
return ConversionError.Build(data)
|
|
|
|
}
|
|
|
|
|
2023-08-22 05:52:24 -05:00
|
|
|
var QueryError = errutil.BadRequest("sse.dataQueryError").MustTemplate(
|
2023-07-21 05:38:29 -05:00
|
|
|
"failed to execute query [{{ .Public.refId }}]: {{ .Error }}",
|
|
|
|
errutil.WithPublic(
|
|
|
|
"failed to execute query [{{ .Public.refId }}]: {{ .Public.error }}",
|
|
|
|
))
|
|
|
|
|
|
|
|
func MakeQueryError(refID, datasourceUID string, err error) error {
|
|
|
|
var pErr error
|
|
|
|
var utilErr errutil.Error
|
|
|
|
// See if this is grafana error, if so, grab public message
|
|
|
|
if errors.As(err, &utilErr) {
|
|
|
|
pErr = utilErr.Public()
|
|
|
|
} else {
|
|
|
|
pErr = err
|
|
|
|
}
|
|
|
|
|
|
|
|
data := errutil.TemplateData{
|
2023-08-30 10:46:47 -05:00
|
|
|
Public: map[string]any{
|
2023-07-21 05:38:29 -05:00
|
|
|
"refId": refID,
|
|
|
|
"datasourceUID": datasourceUID,
|
|
|
|
"error": pErr.Error(),
|
|
|
|
},
|
|
|
|
Error: err,
|
|
|
|
}
|
|
|
|
|
|
|
|
return QueryError.Build(data)
|
|
|
|
}
|