update notification manager to v2.0 (#5030)
Signed-off-by: wanjunlei <wanjunlei@kubesphere.io>
This commit is contained in:
@@ -37,11 +37,11 @@ func NewNotificationConfigGetter(informer ksinformers.SharedInformerFactory) v1a
|
||||
}
|
||||
|
||||
func (g *configGetter) Get(_, name string) (runtime.Object, error) {
|
||||
return g.ksInformer.Notification().V2beta1().Configs().Lister().Get(name)
|
||||
return g.ksInformer.Notification().V2beta2().Configs().Lister().Get(name)
|
||||
}
|
||||
|
||||
func (g *configGetter) List(_ string, query *query.Query) (*api.ListResult, error) {
|
||||
objs, err := g.ksInformer.Notification().V2beta1().Configs().Lister().List(query.Selector())
|
||||
objs, err := g.ksInformer.Notification().V2beta2().Configs().Lister().List(query.Selector())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -62,11 +62,61 @@ func NewNotificationReceiverGetter(informer ksinformers.SharedInformerFactory) v
|
||||
}
|
||||
|
||||
func (g *receiverGetter) Get(_, name string) (runtime.Object, error) {
|
||||
return g.ksInformer.Notification().V2beta1().Receivers().Lister().Get(name)
|
||||
return g.ksInformer.Notification().V2beta2().Receivers().Lister().Get(name)
|
||||
}
|
||||
|
||||
func (g *receiverGetter) List(_ string, query *query.Query) (*api.ListResult, error) {
|
||||
objs, err := g.ksInformer.Notification().V2beta1().Receivers().Lister().List(query.Selector())
|
||||
objs, err := g.ksInformer.Notification().V2beta2().Receivers().Lister().List(query.Selector())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var result []runtime.Object
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj)
|
||||
}
|
||||
return v1alpha3.DefaultList(result, query, compare, filter), nil
|
||||
}
|
||||
|
||||
type routerGetter struct {
|
||||
ksInformer ksinformers.SharedInformerFactory
|
||||
}
|
||||
|
||||
func NewNotificationRouterGetter(informer ksinformers.SharedInformerFactory) v1alpha3.Interface {
|
||||
return &routerGetter{ksInformer: informer}
|
||||
}
|
||||
|
||||
func (g *routerGetter) Get(_, name string) (runtime.Object, error) {
|
||||
return g.ksInformer.Notification().V2beta2().Routers().Lister().Get(name)
|
||||
}
|
||||
|
||||
func (g *routerGetter) List(_ string, query *query.Query) (*api.ListResult, error) {
|
||||
objs, err := g.ksInformer.Notification().V2beta2().Routers().Lister().List(query.Selector())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var result []runtime.Object
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj)
|
||||
}
|
||||
return v1alpha3.DefaultList(result, query, compare, filter), nil
|
||||
}
|
||||
|
||||
type silenceGetter struct {
|
||||
ksInformer ksinformers.SharedInformerFactory
|
||||
}
|
||||
|
||||
func NewNotificationSilenceGetter(informer ksinformers.SharedInformerFactory) v1alpha3.Interface {
|
||||
return &silenceGetter{ksInformer: informer}
|
||||
}
|
||||
|
||||
func (g *silenceGetter) Get(_, name string) (runtime.Object, error) {
|
||||
return g.ksInformer.Notification().V2beta2().Silences().Lister().Get(name)
|
||||
}
|
||||
|
||||
func (g *silenceGetter) List(_ string, query *query.Query) (*api.ListResult, error) {
|
||||
objs, err := g.ksInformer.Notification().V2beta2().Silences().Lister().List(query.Selector())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -26,8 +26,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
|
||||
"kubesphere.io/api/notification/v2beta1"
|
||||
"kubesphere.io/api/notification/v2beta2"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/api"
|
||||
"kubesphere.io/kubesphere/pkg/apiserver/query"
|
||||
@@ -50,11 +49,19 @@ func TestListObjects(t *testing.T) {
|
||||
}{
|
||||
{
|
||||
"test name filter",
|
||||
v2beta1.ResourcesPluralConfig,
|
||||
v2beta2.ResourcesPluralConfig,
|
||||
},
|
||||
{
|
||||
"test name filter",
|
||||
v2beta1.ResourcesPluralReceiver,
|
||||
v2beta2.ResourcesPluralReceiver,
|
||||
},
|
||||
{
|
||||
"test name filter",
|
||||
v2beta2.ResourcesPluralRouter,
|
||||
},
|
||||
{
|
||||
"test name filter",
|
||||
v2beta2.ResourcesPluralSilence,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -99,14 +106,22 @@ func prepare(key string) (v1alpha3.Interface, []interface{}, error) {
|
||||
var indexer cache.Indexer
|
||||
var getter func(informer ksinformers.SharedInformerFactory) v1alpha3.Interface
|
||||
switch key {
|
||||
case v2beta1.ResourcesPluralConfig:
|
||||
indexer = informer.Notification().V2beta1().Configs().Informer().GetIndexer()
|
||||
case v2beta2.ResourcesPluralConfig:
|
||||
indexer = informer.Notification().V2beta2().Configs().Informer().GetIndexer()
|
||||
getter = NewNotificationConfigGetter
|
||||
obj = &v2beta1.Config{}
|
||||
case v2beta1.ResourcesPluralReceiver:
|
||||
indexer = informer.Notification().V2beta1().Receivers().Informer().GetIndexer()
|
||||
obj = &v2beta2.Config{}
|
||||
case v2beta2.ResourcesPluralReceiver:
|
||||
indexer = informer.Notification().V2beta2().Receivers().Informer().GetIndexer()
|
||||
getter = NewNotificationReceiverGetter
|
||||
obj = &v2beta1.Receiver{}
|
||||
obj = &v2beta2.Receiver{}
|
||||
case v2beta2.ResourcesPluralRouter:
|
||||
indexer = informer.Notification().V2beta2().Routers().Informer().GetIndexer()
|
||||
getter = NewNotificationRouterGetter
|
||||
obj = &v2beta2.Router{}
|
||||
case v2beta2.ResourcesPluralSilence:
|
||||
indexer = informer.Notification().V2beta2().Silences().Informer().GetIndexer()
|
||||
getter = NewNotificationSilenceGetter
|
||||
obj = &v2beta2.Silence{}
|
||||
default:
|
||||
return nil, nil, errors.New("unowned type %s", key)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user