FIX: Remove RBAC datasource permissions upon datasource deletion (#56530)

* FIX: Remove RBAC datasource permissions upon datasource deletion

* Use scope provider instead

* Fix test
oneSingleBinary
Gabriel MABILLE 3 years ago committed by GitHub
parent 0eb3afbd14
commit 7595ed0668
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      pkg/services/datasources/service/store.go
  2. 3
      pkg/services/datasources/service/store_test.go

@ -144,7 +144,7 @@ func (ss *SqlStore) DeleteDataSource(ctx context.Context, cmd *datasources.Delet
// Remove associated AccessControl permissions
if _, errDeletingPerms := sess.Exec("DELETE FROM permission WHERE scope=?",
ac.Scope("datasources", "id", fmt.Sprint(dsQuery.Result.Id))); errDeletingPerms != nil {
ac.Scope(datasources.ScopeProvider.GetResourceScope(dsQuery.Result.Uid))); errDeletingPerms != nil {
return errDeletingPerms
}
}

@ -3,7 +3,6 @@ package service
import (
"context"
"errors"
"fmt"
"strconv"
"testing"
"time"
@ -319,7 +318,7 @@ func TestIntegrationDataAccess(t *testing.T) {
_, err := sess.Table("permission").Insert(ac.Permission{
RoleID: 1,
Action: "datasources:read",
Scope: ac.Scope("datasources", "id", fmt.Sprintf("%d", ds.Id)),
Scope: datasources.ScopeProvider.GetResourceScope(ds.Uid),
Updated: time.Now(),
Created: time.Now(),
})

Loading…
Cancel
Save