fix NamespacedName decoder
This commit is contained in:
parent
009db16c7c
commit
94e175eb12
|
|
@ -1,6 +1,8 @@
|
||||||
package spec
|
package spec
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
|
|
@ -62,10 +64,6 @@ type UserSyncer interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n NamespacedName) String() string {
|
func (n NamespacedName) String() string {
|
||||||
if n.Namespace == "" && n.Name == "" {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
return types.NamespacedName(n).String()
|
return types.NamespacedName(n).String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,9 +73,16 @@ func (n NamespacedName) MarshalJSON() ([]byte, error) {
|
||||||
|
|
||||||
func (n *NamespacedName) Decode(value string) error {
|
func (n *NamespacedName) Decode(value string) error {
|
||||||
name := types.NewNamespacedNameFromString(value)
|
name := types.NewNamespacedNameFromString(value)
|
||||||
if value != "" && name == (types.NamespacedName{}) {
|
|
||||||
|
if strings.Trim(value, string(types.Separator)) != "" && name == (types.NamespacedName{}) {
|
||||||
name.Name = value
|
name.Name = value
|
||||||
name.Namespace = v1.NamespaceDefault
|
name.Namespace = v1.NamespaceDefault
|
||||||
|
} else if name.Namespace == "" {
|
||||||
|
name.Namespace = v1.NamespaceDefault
|
||||||
|
}
|
||||||
|
|
||||||
|
if name.Name == "" {
|
||||||
|
return fmt.Errorf("Incorrect namespaced name")
|
||||||
}
|
}
|
||||||
|
|
||||||
*n = NamespacedName(name)
|
*n = NamespacedName(name)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue