
Cleanup per additional comments in PR #992. Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
96 lines
1.9 KiB
Go
96 lines
1.9 KiB
Go
package metadata
|
|
|
|
import "github.com/pkg/errors"
|
|
|
|
type metadataExistsErr struct {
|
|
desc string
|
|
}
|
|
type metadataNotFoundErr struct {
|
|
desc string
|
|
}
|
|
type metadataNotEmptyErr struct {
|
|
desc string
|
|
}
|
|
|
|
// ErrExists is returned when an item already exists in metadata
|
|
func ErrExists(msg string) error {
|
|
if msg == "" {
|
|
msg = "metadata: exists"
|
|
}
|
|
return errors.WithStack(metadataExistsErr{
|
|
desc: msg,
|
|
})
|
|
}
|
|
|
|
// ErrNotFound is returned when an item cannot be found in metadata
|
|
func ErrNotFound(msg string) error {
|
|
if msg == "" {
|
|
msg = "metadata: not found"
|
|
}
|
|
return errors.WithStack(metadataNotFoundErr{
|
|
desc: msg,
|
|
})
|
|
}
|
|
|
|
// ErrNotEmpty is returned when a metadata item can't be deleted because it is not empty
|
|
func ErrNotEmpty(msg string) error {
|
|
if msg == "" {
|
|
msg = "metadata: namespace not empty"
|
|
}
|
|
return errors.WithStack(metadataNotEmptyErr{
|
|
desc: msg,
|
|
})
|
|
}
|
|
|
|
func (m metadataExistsErr) Error() string {
|
|
return m.desc
|
|
}
|
|
func (m metadataNotFoundErr) Error() string {
|
|
return m.desc
|
|
}
|
|
func (m metadataNotEmptyErr) Error() string {
|
|
return m.desc
|
|
}
|
|
|
|
func (m metadataExistsErr) Exists() bool {
|
|
return true
|
|
}
|
|
|
|
func (m metadataNotFoundErr) NotFound() bool {
|
|
return true
|
|
}
|
|
|
|
func (m metadataNotEmptyErr) NotEmpty() bool {
|
|
return true
|
|
}
|
|
|
|
// IsNotFound returns true if the error is due to a missing metadata item
|
|
func IsNotFound(err error) bool {
|
|
if err, ok := errors.Cause(err).(interface {
|
|
NotFound() bool
|
|
}); ok {
|
|
return err.NotFound()
|
|
}
|
|
return false
|
|
}
|
|
|
|
// IsExists returns true if the error is due to an already existing metadata item
|
|
func IsExists(err error) bool {
|
|
if err, ok := errors.Cause(err).(interface {
|
|
Exists() bool
|
|
}); ok {
|
|
return err.Exists()
|
|
}
|
|
return false
|
|
}
|
|
|
|
// IsNotEmpty returns true if the error is due to delete request of a non-empty metadata item
|
|
func IsNotEmpty(err error) bool {
|
|
if err, ok := errors.Cause(err).(interface {
|
|
NotEmpty() bool
|
|
}); ok {
|
|
return err.NotEmpty()
|
|
}
|
|
return false
|
|
}
|