Dashboards: Use dashboard service in access control (#99053)

This commit is contained in:
Todd Treece
2025-01-21 22:57:43 +02:00
committed by GitHub
parent 45e2f95a41
commit 2622449718
17 changed files with 107 additions and 59 deletions
@@ -93,12 +93,13 @@ func registerDashboardRoles(cfg *setting.Cfg, features featuremgmt.FeatureToggle
func ProvideDashboardPermissions(
cfg *setting.Cfg, features featuremgmt.FeatureToggles, router routing.RouteRegister, sql db.DB, ac accesscontrol.AccessControl,
license licensing.Licensing, dashboardStore dashboards.Store, folderService folder.Service, service accesscontrol.Service,
license licensing.Licensing, dashboardService dashboards.DashboardService, folderService folder.Service, service accesscontrol.Service,
teamService team.Service, userService user.Service, actionSetService resourcepermissions.ActionSetService,
dashboardPermissionsRegistration dashboards.PermissionsRegistrationService,
) (*DashboardPermissionsService, error) {
getDashboard := func(ctx context.Context, orgID int64, resourceID string) (*dashboards.Dashboard, error) {
query := &dashboards.GetDashboardQuery{UID: resourceID, OrgID: orgID}
queryResult, err := dashboardStore.GetDashboard(ctx, query)
queryResult, err := dashboardService.GetDashboard(ctx, query)
if err != nil {
return nil, err
}
@@ -139,7 +140,7 @@ func ProvideDashboardPermissions(
// nolint:staticcheck
if dashboard.FolderUID != "" {
query := &dashboards.GetDashboardQuery{UID: dashboard.FolderUID, OrgID: orgID}
queryResult, err := dashboardStore.GetDashboard(ctx, query)
queryResult, err := dashboardService.GetDashboard(ctx, query)
if err != nil {
return nil, err
}
@@ -176,5 +177,7 @@ func ProvideDashboardPermissions(
if err != nil {
return nil, err
}
return &DashboardPermissionsService{srv}, nil
s := &DashboardPermissionsService{srv}
dashboardPermissionsRegistration.RegisterDashboardPermissions(s)
return s, nil
}