2d386e6704
* create notifications module and generate models * switch template group to app models * switch time intervals to use app models * switch receiver to use app models * switch routing tree to use app models * move schema registration to resource packages * fix package names to match app * fix codeowners * fix UI to use metadata.name instead of uid * update dockerfile * move generated models to pkg * remove provenance from field selector * move client factories to test files * rename GenericClient to TypedClient
30 lines
874 B
Go
30 lines
874 B
Go
package timeinterval
|
|
|
|
import (
|
|
"k8s.io/apiserver/pkg/registry/rest"
|
|
|
|
grafanaregistry "github.com/grafana/grafana/pkg/apiserver/registry/generic"
|
|
"github.com/grafana/grafana/pkg/services/apiserver/builder"
|
|
"github.com/grafana/grafana/pkg/services/apiserver/endpoints/request"
|
|
)
|
|
|
|
func NewStorage(
|
|
legacySvc TimeIntervalService,
|
|
namespacer request.NamespaceMapper,
|
|
opts builder.APIGroupOptions,
|
|
) (rest.Storage, error) {
|
|
legacyStore := &legacyStorage{
|
|
service: legacySvc,
|
|
namespacer: namespacer,
|
|
tableConverter: ResourceInfo.TableConverter(),
|
|
}
|
|
if opts.OptsGetter != nil && opts.DualWriteBuilder != nil {
|
|
store, err := grafanaregistry.NewRegistryStore(opts.Scheme, ResourceInfo, opts.OptsGetter)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return opts.DualWriteBuilder(ResourceInfo.GroupResource(), legacyStore, store)
|
|
}
|
|
return legacyStore, nil
|
|
}
|