mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fetch user using the userservice with the userid
This commit is contained in:
parent
35b8a6d5a7
commit
23cba78752
1
pkg/build/cmd/exportversion.go
Symbolic link
1
pkg/build/cmd/exportversion.go
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/Users/eleijonmarck/dev/grafana/grafana-enterprise/src/pkg/build/cmd/exportversion.go
|
@ -5,7 +5,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/apimachinery/identity"
|
|
||||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||||
"github.com/grafana/grafana/pkg/services/quota"
|
"github.com/grafana/grafana/pkg/services/quota"
|
||||||
"github.com/grafana/grafana/pkg/services/user"
|
"github.com/grafana/grafana/pkg/services/user"
|
||||||
@ -177,9 +176,6 @@ type AddDataSourceCommand struct {
|
|||||||
ReadOnly bool `json:"-"`
|
ReadOnly bool `json:"-"`
|
||||||
EncryptedSecureJsonData map[string][]byte `json:"-"`
|
EncryptedSecureJsonData map[string][]byte `json:"-"`
|
||||||
UpdateSecretFn UpdateSecretFn `json:"-"`
|
UpdateSecretFn UpdateSecretFn `json:"-"`
|
||||||
|
|
||||||
// Refactor to use User field instead of UserRequester
|
|
||||||
UserRequester identity.Requester
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Also acts as api DTO
|
// Also acts as api DTO
|
||||||
|
@ -31,6 +31,7 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/services/quota"
|
"github.com/grafana/grafana/pkg/services/quota"
|
||||||
"github.com/grafana/grafana/pkg/services/secrets"
|
"github.com/grafana/grafana/pkg/services/secrets"
|
||||||
"github.com/grafana/grafana/pkg/services/secrets/kvstore"
|
"github.com/grafana/grafana/pkg/services/secrets/kvstore"
|
||||||
|
"github.com/grafana/grafana/pkg/services/user"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ type Service struct {
|
|||||||
pluginStore pluginstore.Store
|
pluginStore pluginstore.Store
|
||||||
pluginClient plugins.Client
|
pluginClient plugins.Client
|
||||||
basePluginContextProvider plugincontext.BasePluginContextProvider
|
basePluginContextProvider plugincontext.BasePluginContextProvider
|
||||||
|
userService user.Service
|
||||||
|
|
||||||
ptc proxyTransportCache
|
ptc proxyTransportCache
|
||||||
}
|
}
|
||||||
@ -71,6 +73,7 @@ func ProvideService(
|
|||||||
features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl, datasourcePermissionsService accesscontrol.DatasourcePermissionsService,
|
features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl, datasourcePermissionsService accesscontrol.DatasourcePermissionsService,
|
||||||
quotaService quota.Service, pluginStore pluginstore.Store, pluginClient plugins.Client,
|
quotaService quota.Service, pluginStore pluginstore.Store, pluginClient plugins.Client,
|
||||||
basePluginContextProvider plugincontext.BasePluginContextProvider,
|
basePluginContextProvider plugincontext.BasePluginContextProvider,
|
||||||
|
userService user.Service,
|
||||||
) (*Service, error) {
|
) (*Service, error) {
|
||||||
dslogger := log.New("datasources")
|
dslogger := log.New("datasources")
|
||||||
store := &SqlStore{db: db, logger: dslogger, features: features}
|
store := &SqlStore{db: db, logger: dslogger, features: features}
|
||||||
@ -90,6 +93,7 @@ func ProvideService(
|
|||||||
pluginStore: pluginStore,
|
pluginStore: pluginStore,
|
||||||
pluginClient: pluginClient,
|
pluginClient: pluginClient,
|
||||||
basePluginContextProvider: basePluginContextProvider,
|
basePluginContextProvider: basePluginContextProvider,
|
||||||
|
userService: userService,
|
||||||
}
|
}
|
||||||
|
|
||||||
ac.RegisterScopeAttributeResolver(NewNameScopeResolver(store))
|
ac.RegisterScopeAttributeResolver(NewNameScopeResolver(store))
|
||||||
@ -291,8 +295,14 @@ func (s *Service) AddDataSource(ctx context.Context, cmd *datasources.AddDataSou
|
|||||||
{BuiltinRole: "Viewer", Permission: "Query"},
|
{BuiltinRole: "Viewer", Permission: "Query"},
|
||||||
{BuiltinRole: "Editor", Permission: "Query"},
|
{BuiltinRole: "Editor", Permission: "Query"},
|
||||||
}
|
}
|
||||||
if cmd.UserID != 0 || (cmd.UserRequester.IsIdentityType(claims.TypeUser, claims.TypeServiceAccount)) {
|
if cmd.UserID != 0 {
|
||||||
permissions = append(permissions, accesscontrol.SetResourcePermissionCommand{UserID: cmd.UserID, Permission: "Admin"})
|
usr, err := s.userService.GetSignedInUser(ctx, &user.GetSignedInUserQuery{UserID: cmd.UserID, OrgID: cmd.OrgID})
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get user: %w", err)
|
||||||
|
}
|
||||||
|
if usr.IsIdentityType(claims.TypeUser, claims.TypeServiceAccount) {
|
||||||
|
permissions = append(permissions, accesscontrol.SetResourcePermissionCommand{UserID: cmd.UserID, Permission: "Admin"})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if _, err = s.permissionsService.SetPermissions(ctx, cmd.OrgID, dataSource.UID, permissions...); err != nil {
|
if _, err = s.permissionsService.SetPermissions(ctx, cmd.OrgID, dataSource.UID, permissions...); err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user