package router import ( "context" "github.com/fission/fission/pkg/utils" "github.com/fission/fission/pkg/utils/manager" ) type routerNamespaceAdder interface { AddNamespace(ctx context.Context, ns string, mgr manager.Interface) error } func NewNamespaceSubscriber(ts routerNamespaceAdder, mgr manager.Interface) utils.NamespaceSubscriber { return utils.NamespaceSubscriberFuncs{ SubscriberName: "router", AddFunc: func(ctx context.Context, record utils.NamespaceRecord) error { return registerRouterNamespace(ctx, record.Name, ts, mgr) }, ResyncFunc: func(ctx context.Context, record utils.NamespaceRecord) error { return registerRouterNamespace(ctx, record.Name, ts, mgr) }, } } func registerRouterNamespace(ctx context.Context, namespace string, ts routerNamespaceAdder, mgr manager.Interface) error { if namespace == "" || ts == nil { return nil } return ts.AddNamespace(ctx, namespace, mgr) }