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

pull/23034/head^2
huanggze 6 years ago committed by GitHub
parent 0870ccea7d
commit 69c5efcf00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      pkg/api/dashboard_test.go
  2. 11
      pkg/api/http_server.go
  3. 9
      pkg/services/provisioning/dashboards/dashboard.go
  4. 19
      pkg/services/provisioning/provisioning.go
  5. 2
      pkg/services/provisioning/provisioning_test.go

@ -987,7 +987,8 @@ func TestDashboardApiEndpoint(t *testing.T) {
}) })
} }
func GetDashboardShouldReturn200WithConfig(sc *scenarioContext, provisioningService ProvisioningService) dtos.DashboardFullWithMeta { func GetDashboardShouldReturn200WithConfig(sc *scenarioContext, provisioningService provisioning.ProvisioningService) dtos.
DashboardFullWithMeta {
if provisioningService == nil { if provisioningService == nil {
provisioningService = provisioning.NewProvisioningServiceMock() provisioningService = provisioning.NewProvisioningServiceMock()
} }

@ -27,6 +27,7 @@ import (
"github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/datasources"
"github.com/grafana/grafana/pkg/services/hooks" "github.com/grafana/grafana/pkg/services/hooks"
"github.com/grafana/grafana/pkg/services/login" "github.com/grafana/grafana/pkg/services/login"
"github.com/grafana/grafana/pkg/services/provisioning"
"github.com/grafana/grafana/pkg/services/quota" "github.com/grafana/grafana/pkg/services/quota"
"github.com/grafana/grafana/pkg/services/rendering" "github.com/grafana/grafana/pkg/services/rendering"
"github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/setting"
@ -44,14 +45,6 @@ func init() {
}) })
} }
type ProvisioningService interface {
ProvisionDatasources() error
ProvisionNotifications() error
ProvisionDashboards() error
GetDashboardProvisionerResolvedPath(name string) string
GetAllowUiUpdatesFromConfig(name string) bool
}
type HTTPServer struct { type HTTPServer struct {
log log.Logger log log.Logger
macaron *macaron.Macaron macaron *macaron.Macaron
@ -69,7 +62,7 @@ type HTTPServer struct {
AuthTokenService models.UserTokenService `inject:""` AuthTokenService models.UserTokenService `inject:""`
QuotaService *quota.QuotaService `inject:""` QuotaService *quota.QuotaService `inject:""`
RemoteCacheService *remotecache.RemoteCache `inject:""` RemoteCacheService *remotecache.RemoteCache `inject:""`
ProvisioningService ProvisioningService `inject:""` ProvisioningService provisioning.ProvisioningService `inject:""`
Login *login.LoginService `inject:""` Login *login.LoginService `inject:""`
License models.Licensing `inject:""` License models.Licensing `inject:""`
BackendPluginManager backendplugin.Manager `inject:""` BackendPluginManager backendplugin.Manager `inject:""`

@ -9,6 +9,15 @@ import (
"github.com/grafana/grafana/pkg/util/errutil" "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 { type DashboardProvisionerImpl struct {
log log.Logger log log.Logger
fileReaders []*fileReader fileReaders []*fileReader

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

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

Loading…
Cancel
Save