mirror of
https://github.com/openziti/ziti.git
synced 2026-09-10 00:35:41 +00:00
30 lines
598 B
Go
30 lines
598 B
Go
package models
|
|
|
|
import (
|
|
"github.com/openziti/ziti/controller/apierror"
|
|
"github.com/openziti/foundation/v2/errorz"
|
|
"github.com/openziti/storage/boltz"
|
|
)
|
|
|
|
func ToApiError(err error) *errorz.ApiError {
|
|
if apiErr, ok := err.(*errorz.ApiError); ok {
|
|
return apiErr
|
|
}
|
|
|
|
if boltz.IsErrNotFoundErr(err) {
|
|
result := errorz.NewNotFound()
|
|
result.Cause = err
|
|
return result
|
|
}
|
|
|
|
if fe, ok := err.(*errorz.FieldError); ok {
|
|
return errorz.NewFieldApiError(fe)
|
|
}
|
|
|
|
if sve, ok := err.(*apierror.ValidationErrors); ok {
|
|
return errorz.NewCouldNotValidate(sve)
|
|
}
|
|
|
|
return errorz.NewUnhandled(err)
|
|
}
|