Datasources: add datasourceUids filter

This commit is contained in:
Artur Wierzbicki 2022-07-25 19:24:22 +04:00 committed by GitHub
parent 4a12d0f236
commit 33fc3a683b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"errors" "errors"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/datasources"
) )
@ -11,6 +12,7 @@ var ErrNotImplemented = errors.New("not implemented")
type DatasourcePermissionsService interface { type DatasourcePermissionsService interface {
FilterDatasourcesBasedOnQueryPermissions(ctx context.Context, cmd *datasources.DatasourcesPermissionFilterQuery) error FilterDatasourcesBasedOnQueryPermissions(ctx context.Context, cmd *datasources.DatasourcesPermissionFilterQuery) error
FilterDatasourceUidsBasedOnQueryPermissions(ctx context.Context, user *models.SignedInUser, datasourceUids []string) ([]string, error)
} }
// dummy method // dummy method
@ -18,6 +20,10 @@ func (hs *OSSDatasourcePermissionsService) FilterDatasourcesBasedOnQueryPermissi
return ErrNotImplemented return ErrNotImplemented
} }
func (hs *OSSDatasourcePermissionsService) FilterDatasourceUidsBasedOnQueryPermissions(ctx context.Context, user *models.SignedInUser, datasourceUids []string) ([]string, error) {
return nil, ErrNotImplemented
}
type OSSDatasourcePermissionsService struct{} type OSSDatasourcePermissionsService struct{}
func ProvideDatasourcePermissionsService() *OSSDatasourcePermissionsService { func ProvideDatasourcePermissionsService() *OSSDatasourcePermissionsService {

View File

@ -3,12 +3,18 @@ package permissions
import ( import (
"context" "context"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/datasources"
) )
type mockDatasourcePermissionService struct { type mockDatasourcePermissionService struct {
DsResult []*datasources.DataSource DsResult []*datasources.DataSource
ErrResult error DsUidResult []string
ErrResult error
}
func (m *mockDatasourcePermissionService) FilterDatasourceUidsBasedOnQueryPermissions(ctx context.Context, user *models.SignedInUser, datasourceUids []string) ([]string, error) {
return m.DsUidResult, m.ErrResult
} }
func (m *mockDatasourcePermissionService) FilterDatasourcesBasedOnQueryPermissions(ctx context.Context, cmd *datasources.DatasourcesPermissionFilterQuery) error { func (m *mockDatasourcePermissionService) FilterDatasourcesBasedOnQueryPermissions(ctx context.Context, cmd *datasources.DatasourcesPermissionFilterQuery) error {