Cleanup: move interface ProvisioningService into provisioning package (#23061)

This commit is contained in:
huanggze
2020-03-25 21:14:24 +08:00
committed by GitHub
parent 0870ccea7d
commit 69c5efcf00
5 changed files with 37 additions and 35 deletions

View File

@@ -9,6 +9,15 @@ import (
"github.com/grafana/grafana/pkg/util/errutil"
)
type DashboardProvisioner interface {
Provision() error
PollChanges(ctx context.Context)
GetProvisionerResolvedPath(name string) string
GetAllowUiUpdatesFromConfig(name string) bool
}
type DashboardProvisionerFactory func(string) (DashboardProvisioner, error)
type DashboardProvisionerImpl struct {
log log.Logger
fileReaders []*fileReader

View File

@@ -15,18 +15,17 @@ import (
"github.com/grafana/grafana/pkg/setting"
)
type DashboardProvisioner interface {
Provision() error
PollChanges(ctx context.Context)
GetProvisionerResolvedPath(name string) string
type ProvisioningService interface {
ProvisionDatasources() error
ProvisionNotifications() error
ProvisionDashboards() error
GetDashboardProvisionerResolvedPath(name string) string
GetAllowUiUpdatesFromConfig(name string) bool
}
type DashboardProvisionerFactory func(string) (DashboardProvisioner, error)
func init() {
registry.RegisterService(NewProvisioningServiceImpl(
func(path string) (DashboardProvisioner, error) {
func(path string) (dashboards.DashboardProvisioner, error) {
return dashboards.NewDashboardProvisionerImpl(path)
},
notifiers.Provision,
@@ -35,7 +34,7 @@ func init() {
}
func NewProvisioningServiceImpl(
newDashboardProvisioner DashboardProvisionerFactory,
newDashboardProvisioner dashboards.DashboardProvisionerFactory,
provisionNotifiers func(string) error,
provisionDatasources func(string) error,
) *provisioningServiceImpl {
@@ -51,8 +50,8 @@ type provisioningServiceImpl struct {
Cfg *setting.Cfg `inject:""`
log log.Logger
pollingCtxCancel context.CancelFunc
newDashboardProvisioner DashboardProvisionerFactory
dashboardProvisioner DashboardProvisioner
newDashboardProvisioner dashboards.DashboardProvisionerFactory
dashboardProvisioner dashboards.DashboardProvisioner
provisionNotifiers func(string) error
provisionDatasources func(string) error
mutex sync.Mutex

View File

@@ -92,7 +92,7 @@ func setup() *serviceTestStruct {
}
serviceTest.service = NewProvisioningServiceImpl(
func(path string) (DashboardProvisioner, error) {
func(path string) (dashboards.DashboardProvisioner, error) {
return serviceTest.mock, nil
},
nil,