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

* FIX: Remove RBAC datasource permissions upon datasource deletion

* Use scope provider instead

* Fix test
This commit is contained in:
Gabriel MABILLE 2022-10-07 14:30:15 +02:00 committed by GitHub
parent 0eb3afbd14
commit 7595ed0668
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 3 deletions

View File

@ -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
}
}

View File

@ -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(),
})