diff --git a/pkg/server/usagestatssvcs/usage_stats_providers_registry.go b/pkg/server/usagestatssvcs/usage_stats_providers_registry.go index ad243798420..dff8af90bc0 100644 --- a/pkg/server/usagestatssvcs/usage_stats_providers_registry.go +++ b/pkg/server/usagestatssvcs/usage_stats_providers_registry.go @@ -3,13 +3,16 @@ package usagestatssvcs import ( "github.com/grafana/grafana/pkg/registry" "github.com/grafana/grafana/pkg/services/accesscontrol" + "github.com/grafana/grafana/pkg/services/user" ) func ProvideUsageStatsProvidersRegistry( accesscontrol accesscontrol.Service, + user user.Service, ) *UsageStatsProvidersRegistry { return NewUsageStatsProvidersRegistry( accesscontrol, + user, ) } diff --git a/pkg/services/user/user.go b/pkg/services/user/user.go index 7c2a4a05b05..66008e7cd01 100644 --- a/pkg/services/user/user.go +++ b/pkg/services/user/user.go @@ -2,9 +2,12 @@ package user import ( "context" + + "github.com/grafana/grafana/pkg/registry" ) type Service interface { + registry.ProvidesUsageStats Create(context.Context, *CreateUserCommand) (*User, error) CreateServiceAccount(context.Context, *CreateUserCommand) (*User, error) Delete(context.Context, *DeleteUserCommand) error diff --git a/pkg/services/user/userimpl/user.go b/pkg/services/user/userimpl/user.go index 9be2516aa7b..f5aded11836 100644 --- a/pkg/services/user/userimpl/user.go +++ b/pkg/services/user/userimpl/user.go @@ -67,6 +67,17 @@ func ProvideService( return s, nil } +func (s *Service) GetUsageStats(ctx context.Context) map[string]interface{} { + stats := map[string]interface{}{} + caseInsensitiveLoginVal := 0 + if s.cfg.CaseInsensitiveLogin { + caseInsensitiveLoginVal = 1 + } + + stats["stats.case_insensitive_login.count"] = caseInsensitiveLoginVal + return stats +} + func (s *Service) Usage(ctx context.Context, _ *quota.ScopeParameters) (*quota.Map, error) { u := "a.Map{} if used, err := s.store.Count(ctx); err != nil { diff --git a/pkg/services/user/usertest/fake.go b/pkg/services/user/usertest/fake.go index 984230916bd..2cf76e14459 100644 --- a/pkg/services/user/usertest/fake.go +++ b/pkg/services/user/usertest/fake.go @@ -14,6 +14,7 @@ type FakeUserService struct { ExpectedSearchUsers user.SearchUserQueryResult ExpectedUserProfileDTO *user.UserProfileDTO ExpectedUserProfileDTOs []*user.UserProfileDTO + ExpectedUsageStats map[string]interface{} GetSignedInUserFn func(ctx context.Context, query *user.GetSignedInUserQuery) (*user.SignedInUser, error) CreateFn func(ctx context.Context, cmd *user.CreateUserCommand) (*user.User, error) @@ -26,6 +27,10 @@ func NewUserServiceFake() *FakeUserService { return &FakeUserService{} } +func (f FakeUserService) GetUsageStats(ctx context.Context) map[string]interface{} { + return f.ExpectedUsageStats +} + func (f *FakeUserService) Create(ctx context.Context, cmd *user.CreateUserCommand) (*user.User, error) { if f.CreateFn != nil { return f.CreateFn(ctx, cmd)