diff --git a/pkg/services/dashboards/models.go b/pkg/services/dashboards/models.go index e3b4cf4bca1..4df6dc95153 100644 --- a/pkg/services/dashboards/models.go +++ b/pkg/services/dashboards/models.go @@ -399,27 +399,6 @@ type DashboardACLInfoDTO struct { Inherited bool `json:"inherited"` } -func (dto *DashboardACLInfoDTO) hasSameRoleAs(other *DashboardACLInfoDTO) bool { - if dto.Role == nil || other.Role == nil { - return false - } - - return dto.UserID <= 0 && dto.TeamID <= 0 && dto.UserID == other.UserID && dto.TeamID == other.TeamID && *dto.Role == *other.Role -} - -func (dto *DashboardACLInfoDTO) hasSameUserAs(other *DashboardACLInfoDTO) bool { - return dto.UserID > 0 && dto.UserID == other.UserID -} - -func (dto *DashboardACLInfoDTO) hasSameTeamAs(other *DashboardACLInfoDTO) bool { - return dto.TeamID > 0 && dto.TeamID == other.TeamID -} - -// IsDuplicateOf returns true if other item has same role, same user or same team -func (dto *DashboardACLInfoDTO) IsDuplicateOf(other *DashboardACLInfoDTO) bool { - return dto.hasSameRoleAs(other) || dto.hasSameUserAs(other) || dto.hasSameTeamAs(other) -} - type FindPersistedDashboardsQuery struct { Title string OrgId int64 diff --git a/pkg/services/serviceaccounts/database/store.go b/pkg/services/serviceaccounts/database/store.go index 5621f5743a8..581626a3d2a 100644 --- a/pkg/services/serviceaccounts/database/store.go +++ b/pkg/services/serviceaccounts/database/store.go @@ -456,7 +456,6 @@ func serviceAccountDeletions(dialect migrator.Dialect) []string { "DELETE FROM star WHERE user_id = ?", "DELETE FROM " + dialect.Quote("user") + " WHERE id = ?", "DELETE FROM org_user WHERE user_id = ?", - "DELETE FROM dashboard_acl WHERE user_id = ?", "DELETE FROM preferences WHERE user_id = ?", "DELETE FROM team_member WHERE user_id = ?", "DELETE FROM user_auth WHERE user_id = ?", diff --git a/pkg/services/stats/statsimpl/stats.go b/pkg/services/stats/statsimpl/stats.go index 0a350461b65..e2139c80b57 100644 --- a/pkg/services/stats/statsimpl/stats.go +++ b/pkg/services/stats/statsimpl/stats.go @@ -7,7 +7,6 @@ import ( "time" "github.com/grafana/grafana/pkg/infra/db" - "github.com/grafana/grafana/pkg/services/dashboards/dashboardaccess" "github.com/grafana/grafana/pkg/services/libraryelements/model" "github.com/grafana/grafana/pkg/services/org" "github.com/grafana/grafana/pkg/services/sqlstore/migrator" @@ -93,27 +92,6 @@ func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetS sb.Write(`(SELECT MAX(LENGTH(data)) FROM `+dialect.Quote("dashboard")+` WHERE is_folder = ?) AS dashboard_bytes_max,`, dialect.BooleanStr(false)) sb.Write(`(SELECT COUNT(id) FROM `+dialect.Quote("dashboard")+` WHERE is_folder = ?) AS folders,`, dialect.BooleanStr(true)) - sb.Write(`( - SELECT COUNT(acl.id) - FROM `+dialect.Quote("dashboard_acl")+` AS acl - INNER JOIN `+dialect.Quote("dashboard")+` AS d - ON d.id = acl.dashboard_id - WHERE d.is_folder = ? - ) AS dashboard_permissions,`, dialect.BooleanStr(false)) - - sb.Write(`( - SELECT COUNT(acl.id) - FROM `+dialect.Quote("dashboard_acl")+` AS acl - INNER JOIN `+dialect.Quote("dashboard")+` AS d - ON d.id = acl.dashboard_id - WHERE d.is_folder = ? - ) AS folder_permissions,`, dialect.BooleanStr(true)) - - sb.Write(viewersPermissionsCounterSQL(ss.db, "dashboards_viewers_can_edit", false, dashboardaccess.PERMISSION_EDIT)) - sb.Write(viewersPermissionsCounterSQL(ss.db, "dashboards_viewers_can_admin", false, dashboardaccess.PERMISSION_ADMIN)) - sb.Write(viewersPermissionsCounterSQL(ss.db, "folders_viewers_can_edit", true, dashboardaccess.PERMISSION_EDIT)) - sb.Write(viewersPermissionsCounterSQL(ss.db, "folders_viewers_can_admin", true, dashboardaccess.PERMISSION_ADMIN)) - sb.Write(`(SELECT COUNT(id) FROM ` + dialect.Quote("dashboard_provisioning") + `) AS provisioned_dashboards,`) sb.Write(`(SELECT COUNT(id) FROM ` + dialect.Quote("dashboard_snapshot") + `) AS snapshots,`) sb.Write(`(SELECT COUNT(id) FROM ` + dialect.Quote("dashboard_version") + `) AS dashboard_versions,`) @@ -169,19 +147,6 @@ func (ss *sqlStatsService) roleCounterSQL(ctx context.Context) string { return sqlQuery } -func viewersPermissionsCounterSQL(db db.DB, statName string, isFolder bool, permission dashboardaccess.PermissionType) string { - dialect := db.GetDialect() - return `( - SELECT COUNT(*) - FROM ` + dialect.Quote("dashboard_acl") + ` AS acl - INNER JOIN ` + dialect.Quote("dashboard") + ` AS d - ON d.id = acl.dashboard_id - WHERE acl.role = '` + string(org.RoleViewer) + `' - AND d.is_folder = ` + dialect.BooleanStr(isFolder) + ` - AND acl.permission = ` + strconv.FormatInt(int64(permission), 10) + ` - ) AS ` + statName + `, ` -} - func (ss *sqlStatsService) GetAdminStats(ctx context.Context, query *stats.GetAdminStatsQuery) (result *stats.AdminStats, err error) { err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error { dialect := ss.db.GetDialect()