diff --git a/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go b/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go index 9acfbe3807cb3e6cb412e436d329ace7bd368e6a..edee6c72da2c53bc7d2123a5695b94d00a39133d 100644 --- a/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go +++ b/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go @@ -23,8 +23,11 @@ import ( "kubesphere.io/kubesphere/pkg/apiserver/query" informers "kubesphere.io/kubesphere/pkg/client/informers/externalversions" "kubesphere.io/kubesphere/pkg/models/resources/v1alpha3" + "kubesphere.io/kubesphere/pkg/utils/sliceutil" ) +const User = "user" + type groupBindingGetter struct { sharedInformers informers.SharedInformerFactory } @@ -74,5 +77,10 @@ func (d *groupBindingGetter) filter(object runtime.Object, filter query.Filter) return false } - return v1alpha3.DefaultObjectMetaFilter(groupbinding.ObjectMeta, filter) + switch filter.Field { + case User: + return sliceutil.HasString(groupbinding.Users, string(filter.Value)) + default: + return v1alpha3.DefaultObjectMetaFilter(groupbinding.ObjectMeta, filter) + } }