mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Datasources: allow for query but with warning (#93091)
allow for query but with warning
This commit is contained in:
parent
544dbce708
commit
f3ede1f53d
@ -54,7 +54,7 @@ func (hs *HTTPServer) GetDataSources(c *contextmodel.ReqContext) response.Respon
|
||||
return response.Error(http.StatusInternalServerError, "Failed to query datasources", err)
|
||||
}
|
||||
|
||||
filtered, err := hs.dsGuardian.New(c.SignedInUser.OrgID, c.SignedInUser).FilterDatasourcesByQueryPermissions(dataSources)
|
||||
filtered, err := hs.dsGuardian.New(c.SignedInUser.OrgID, c.SignedInUser).FilterDatasourcesByReadPermissions(dataSources)
|
||||
if err != nil {
|
||||
return response.Error(http.StatusInternalServerError, "Failed to query datasources", err)
|
||||
}
|
||||
|
@ -412,7 +412,7 @@ func (hs *HTTPServer) getFSDataSources(c *contextmodel.ReqContext, availablePlug
|
||||
// If RBAC is enabled, it will filter out all datasources for a public user, so we need to skip it
|
||||
orgDataSources = dataSources
|
||||
} else {
|
||||
filtered, err := hs.dsGuardian.New(c.SignedInUser.OrgID, c.SignedInUser).FilterDatasourcesByQueryPermissions(dataSources)
|
||||
filtered, err := hs.dsGuardian.New(c.SignedInUser.OrgID, c.SignedInUser).FilterDatasourcesByReadPermissions(dataSources)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -14,6 +14,10 @@ func (n AllowGuardian) CanQuery(datasourceID int64) (bool, error) {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (n AllowGuardian) FilterDatasourcesByReadPermissions(ds []*datasources.DataSource) ([]*datasources.DataSource, error) {
|
||||
return ds, nil
|
||||
}
|
||||
|
||||
func (n AllowGuardian) FilterDatasourcesByQueryPermissions(ds []*datasources.DataSource) ([]*datasources.DataSource, error) {
|
||||
return ds, nil
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ type DatasourceGuardianProvider interface {
|
||||
|
||||
type DatasourceGuardian interface {
|
||||
CanQuery(datasourceID int64) (bool, error)
|
||||
FilterDatasourcesByReadPermissions([]*datasources.DataSource) ([]*datasources.DataSource, error)
|
||||
FilterDatasourcesByQueryPermissions([]*datasources.DataSource) ([]*datasources.DataSource, error)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user