From ca041bf4bd04515b9fc5a52dcb3fdef21c7d1ea6 Mon Sep 17 00:00:00 2001 From: "Roland.Ma" Date: Tue, 8 Dec 2020 14:27:20 +0000 Subject: [PATCH] filter groupbinding by user field Signed-off-by: Roland.Ma --- .../resources/v1alpha3/groupbinding/groupbinding.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go b/pkg/models/resources/v1alpha3/groupbinding/groupbinding.go index 9acfbe380..edee6c72d 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) + } }