filter groupbinding by user field

Signed-off-by: Roland.Ma <rolandma@yunify.com>
This commit is contained in:
Roland.Ma
2020-12-08 14:27:20 +00:00
parent e16219be55
commit ca041bf4bd

View File

@@ -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)
}
}