AccessControl: Create own interface and impl for each permission service (#48871)

* Create own interfaces for team, folder, dashboard and data source permissions services
* Remove service container and inject them individually
This commit is contained in:
Karl Persson
2022-05-10 15:48:47 +02:00
committed by GitHub
parent 31ff23f542
commit 61772a66b6
31 changed files with 266 additions and 255 deletions
@@ -35,7 +35,7 @@ type Service struct {
SecretsService secrets.Service
cfg *setting.Cfg
features featuremgmt.FeatureToggles
permissionsService accesscontrol.PermissionsService
permissionsService accesscontrol.DatasourcePermissionsService
ac accesscontrol.AccessControl
ptc proxyTransportCache
@@ -53,7 +53,7 @@ type cachedRoundTripper struct {
func ProvideService(
store *sqlstore.SQLStore, secretsService secrets.Service, secretsStore kvstore.SecretsKVStore, cfg *setting.Cfg,
features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl, permissionsServices accesscontrol.PermissionsServices,
features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl, datasourcePermissionsService accesscontrol.DatasourcePermissionsService,
) *Service {
s := &Service{
SQLStore: store,
@@ -64,7 +64,7 @@ func ProvideService(
},
cfg: cfg,
features: features,
permissionsService: permissionsServices.GetDataSourceService(),
permissionsService: datasourcePermissionsService,
ac: ac,
}