Files
grafana/pkg/apimachinery/utils/errors.go
Marco de Abreu c47ab101d1 Dashboards: Add Dashboard Schema validation (2) (#103844)
* Activate schema validation and align underlying systems

* update to save as v0 if not the right schema version

* Resolve merge conflicts

* Move RequireApiErrorStatus to tests package

* Add mutation tests

* Fix lint

* Only do min version check if dashboard is v1

* Fix lint and disable provisioning test

* Revert provisioning changes

* Revert more tests and add schema test

* Reran gen

* SQL Dashboard save

* Adjust APIVERSION

* Fixed mutation test

* Add logging on downgrade

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-11 23:05:41 +02:00

21 lines
447 B
Go

package utils
import (
"errors"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// Extract the status from an APIStatus error
func ExtractApiErrorStatus(err error) (metav1.Status, bool) {
if err == nil {
return metav1.Status{}, false
}
if statusErr, ok := err.(apierrors.APIStatus); ok && errors.As(err, &statusErr) {
return statusErr.Status(), true
}
return metav1.Status{}, false
}