Skip to content

Commit 7074461

Browse files
committed
Merge branch 'data-source-instance-to-react' of https://github.com/grafana/grafana into data-source-instance-to-react
2 parents 8583788 + ccfcf02 commit 7074461

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

pkg/api/datasources.go

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,21 @@ func GetDataSources(c *m.ReqContext) Response {
1717
return Error(500, "Failed to query datasources", err)
1818
}
1919

20-
permissions := map[int64]m.DsPermissionType{}
21-
permissionsQuery := m.GetDataSourcePermissionsForUserQuery{User: c.SignedInUser}
22-
if err := bus.Dispatch(&permissionsQuery); err != nil {
20+
dsFilterQuery := m.DatasourcesPermissionFilterQuery{
21+
User: c.SignedInUser,
22+
Datasources: query.Result,
23+
}
24+
25+
if err := bus.Dispatch(&dsFilterQuery); err != nil {
2326
if err != bus.ErrHandlerNotFound {
24-
return Error(500, "failed to read datasource permissions", err)
27+
return Error(500, "Could not get datasources", err)
2528
}
26-
} else {
27-
permissions = permissionsQuery.Result
29+
30+
dsFilterQuery.Result = query.Result
2831
}
2932

3033
result := make(dtos.DataSourceList, 0)
31-
for _, ds := range query.Result {
34+
for _, ds := range dsFilterQuery.Result {
3235
dsItem := dtos.DataSourceListItemDTO{
3336
OrgId: ds.OrgId,
3437
Id: ds.Id,
@@ -45,13 +48,6 @@ func GetDataSources(c *m.ReqContext) Response {
4548
ReadOnly: ds.ReadOnly,
4649
}
4750

48-
if permission, ok := permissions[ds.Id]; ok {
49-
c.Logger.Info("Found permission", "permission", permission)
50-
if permission == m.DsPermissionNoAccess {
51-
continue
52-
}
53-
}
54-
5551
if plugin, exists := plugins.DataSources[ds.Type]; exists {
5652
dsItem.TypeLogoUrl = plugin.Info.Logos.Small
5753
} else {

pkg/models/datasource.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,9 @@ type GetDataSourcePermissionsForUserQuery struct {
217217
User *SignedInUser
218218
Result map[int64]DsPermissionType
219219
}
220+
221+
type DatasourcesPermissionFilterQuery struct {
222+
User *SignedInUser
223+
Datasources []*DataSource
224+
Result []*DataSource
225+
}

0 commit comments

Comments
 (0)