|
|
|
@ -12,13 +12,13 @@ import ( |
|
|
|
"github.com/grafana/grafana/pkg/infra/log" |
|
|
|
"github.com/grafana/grafana/pkg/infra/log" |
|
|
|
ac "github.com/grafana/grafana/pkg/services/accesscontrol" |
|
|
|
ac "github.com/grafana/grafana/pkg/services/accesscontrol" |
|
|
|
"github.com/grafana/grafana/pkg/services/annotations" |
|
|
|
"github.com/grafana/grafana/pkg/services/annotations" |
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/auth/identity" |
|
|
|
"github.com/grafana/grafana/pkg/services/dashboards" |
|
|
|
"github.com/grafana/grafana/pkg/services/dashboards" |
|
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt" |
|
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/permissions" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/permissions" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/searchstore" |
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/searchstore" |
|
|
|
"github.com/grafana/grafana/pkg/services/tag" |
|
|
|
"github.com/grafana/grafana/pkg/services/tag" |
|
|
|
"github.com/grafana/grafana/pkg/services/user" |
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/setting" |
|
|
|
"github.com/grafana/grafana/pkg/setting" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
@ -378,14 +378,15 @@ type acFilter struct { |
|
|
|
recParams []interface{} |
|
|
|
recParams []interface{} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (r *xormRepositoryImpl) getAccessControlFilter(user *user.SignedInUser) (acFilter, error) { |
|
|
|
func (r *xormRepositoryImpl) getAccessControlFilter(user identity.Requester) (acFilter, error) { |
|
|
|
var recQueries string |
|
|
|
var recQueries string |
|
|
|
var recQueriesParams []interface{} |
|
|
|
var recQueriesParams []interface{} |
|
|
|
|
|
|
|
|
|
|
|
if user == nil || user.Permissions[user.OrgID] == nil { |
|
|
|
if user == nil || user.IsNil() { |
|
|
|
return acFilter{}, errors.New("missing permissions") |
|
|
|
return acFilter{}, errors.New("missing permissions") |
|
|
|
} |
|
|
|
} |
|
|
|
scopes, has := user.Permissions[user.OrgID][ac.ActionAnnotationsRead] |
|
|
|
|
|
|
|
|
|
|
|
scopes, has := user.GetPermissions()[ac.ActionAnnotationsRead] |
|
|
|
if !has { |
|
|
|
if !has { |
|
|
|
return acFilter{}, errors.New("missing permissions") |
|
|
|
return acFilter{}, errors.New("missing permissions") |
|
|
|
} |
|
|
|
} |
|
|
|
|