Chore: Remove result field from stats (#65166)
remove result field from stats
This commit is contained in:
@@ -49,13 +49,9 @@ type DataSourceStats struct {
|
||||
Type string
|
||||
}
|
||||
|
||||
type GetSystemStatsQuery struct {
|
||||
Result *SystemStats
|
||||
}
|
||||
type GetSystemStatsQuery struct{}
|
||||
|
||||
type GetDataSourceStatsQuery struct {
|
||||
Result []*DataSourceStats
|
||||
}
|
||||
type GetDataSourceStatsQuery struct{}
|
||||
|
||||
type DataSourceAccessStats struct {
|
||||
Type string
|
||||
@@ -63,18 +59,14 @@ type DataSourceAccessStats struct {
|
||||
Count int64
|
||||
}
|
||||
|
||||
type GetDataSourceAccessStatsQuery struct {
|
||||
Result []*DataSourceAccessStats
|
||||
}
|
||||
type GetDataSourceAccessStatsQuery struct{}
|
||||
|
||||
type NotifierUsageStats struct {
|
||||
Type string
|
||||
Count int64
|
||||
}
|
||||
|
||||
type GetAlertNotifierUsageStatsQuery struct {
|
||||
Result []*NotifierUsageStats
|
||||
}
|
||||
type GetAlertNotifierUsageStatsQuery struct{}
|
||||
|
||||
type AdminStats struct {
|
||||
Orgs int64 `json:"orgs"`
|
||||
@@ -102,17 +94,13 @@ type AdminStats struct {
|
||||
MonthlyActiveUsers int64 `json:"monthlyActiveUsers"`
|
||||
}
|
||||
|
||||
type GetAdminStatsQuery struct {
|
||||
Result *AdminStats
|
||||
}
|
||||
type GetAdminStatsQuery struct{}
|
||||
|
||||
type SystemUserCountStats struct {
|
||||
Count int64
|
||||
}
|
||||
|
||||
type GetSystemUserCountStatsQuery struct {
|
||||
Result *SystemUserCountStats
|
||||
}
|
||||
type GetSystemUserCountStatsQuery struct{}
|
||||
|
||||
type UserStats struct {
|
||||
Users int64
|
||||
|
||||
@@ -5,10 +5,10 @@ import (
|
||||
)
|
||||
|
||||
type Service interface {
|
||||
GetAdminStats(ctx context.Context, query *GetAdminStatsQuery) error
|
||||
GetAlertNotifiersUsageStats(ctx context.Context, query *GetAlertNotifierUsageStatsQuery) error
|
||||
GetDataSourceStats(ctx context.Context, query *GetDataSourceStatsQuery) error
|
||||
GetDataSourceAccessStats(ctx context.Context, query *GetDataSourceAccessStatsQuery) error
|
||||
GetSystemStats(ctx context.Context, query *GetSystemStatsQuery) error
|
||||
GetSystemUserCountStats(ctx context.Context, query *GetSystemUserCountStatsQuery) error
|
||||
GetAdminStats(ctx context.Context, query *GetAdminStatsQuery) (*AdminStats, error)
|
||||
GetAlertNotifiersUsageStats(ctx context.Context, query *GetAlertNotifierUsageStatsQuery) ([]*NotifierUsageStats, error)
|
||||
GetDataSourceStats(ctx context.Context, query *GetDataSourceStatsQuery) ([]*DataSourceStats, error)
|
||||
GetDataSourceAccessStats(ctx context.Context, query *GetDataSourceAccessStatsQuery) ([]*DataSourceAccessStats, error)
|
||||
GetSystemStats(ctx context.Context, query *GetSystemStatsQuery) (*SystemStats, error)
|
||||
GetSystemUserCountStats(ctx context.Context, query *GetSystemUserCountStatsQuery) (*SystemUserCountStats, error)
|
||||
}
|
||||
|
||||
@@ -27,31 +27,34 @@ type sqlStatsService struct {
|
||||
cfg *setting.Cfg
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetAlertNotifiersUsageStats(ctx context.Context, query *stats.GetAlertNotifierUsageStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
func (ss *sqlStatsService) GetAlertNotifiersUsageStats(ctx context.Context, query *stats.GetAlertNotifierUsageStatsQuery) (result []*stats.NotifierUsageStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
var rawSQL = `SELECT COUNT(*) AS count, type FROM ` + ss.db.GetDialect().Quote("alert_notification") + ` GROUP BY type`
|
||||
query.Result = make([]*stats.NotifierUsageStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&query.Result)
|
||||
result = make([]*stats.NotifierUsageStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&result)
|
||||
return err
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetDataSourceStats(ctx context.Context, query *stats.GetDataSourceStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
func (ss *sqlStatsService) GetDataSourceStats(ctx context.Context, query *stats.GetDataSourceStatsQuery) (result []*stats.DataSourceStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
var rawSQL = `SELECT COUNT(*) AS count, type FROM ` + ss.db.GetDialect().Quote("data_source") + ` GROUP BY type`
|
||||
query.Result = make([]*stats.DataSourceStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&query.Result)
|
||||
result = make([]*stats.DataSourceStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&result)
|
||||
return err
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetDataSourceAccessStats(ctx context.Context, query *stats.GetDataSourceAccessStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
func (ss *sqlStatsService) GetDataSourceAccessStats(ctx context.Context, query *stats.GetDataSourceAccessStatsQuery) (result []*stats.DataSourceAccessStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
var rawSQL = `SELECT COUNT(*) AS count, type, access FROM ` + ss.db.GetDialect().Quote("data_source") + ` GROUP BY type, access`
|
||||
query.Result = make([]*stats.DataSourceAccessStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&query.Result)
|
||||
result = make([]*stats.DataSourceAccessStats, 0)
|
||||
err := dbSession.SQL(rawSQL).Find(&result)
|
||||
return err
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func notServiceAccount(dialect migrator.Dialect) string {
|
||||
@@ -59,8 +62,8 @@ func notServiceAccount(dialect migrator.Dialect) string {
|
||||
dialect.BooleanStr(false)
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetSystemStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetSystemStatsQuery) (result *stats.SystemStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
sb := &db.SQLBuilder{}
|
||||
sb.Write("SELECT ")
|
||||
dialect := ss.db.GetDialect()
|
||||
@@ -132,10 +135,11 @@ func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetS
|
||||
return err
|
||||
}
|
||||
|
||||
query.Result = &stats
|
||||
result = &stats
|
||||
|
||||
return nil
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) roleCounterSQL(ctx context.Context) string {
|
||||
@@ -170,8 +174,8 @@ func viewersPermissionsCounterSQL(db db.DB, statName string, isFolder bool, perm
|
||||
) AS ` + statName + `, `
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetAdminStats(ctx context.Context, query *stats.GetAdminStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
func (ss *sqlStatsService) GetAdminStats(ctx context.Context, query *stats.GetAdminStatsQuery) (result *stats.AdminStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
dialect := ss.db.GetDialect()
|
||||
now := time.Now()
|
||||
activeEndDate := now.Add(-activeUserTimeLimit)
|
||||
@@ -245,13 +249,14 @@ func (ss *sqlStatsService) GetAdminStats(ctx context.Context, query *stats.GetAd
|
||||
return err
|
||||
}
|
||||
|
||||
query.Result = &stats
|
||||
result = &stats
|
||||
return nil
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) GetSystemUserCountStats(ctx context.Context, query *stats.GetSystemUserCountStatsQuery) error {
|
||||
return ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
func (ss *sqlStatsService) GetSystemUserCountStats(ctx context.Context, query *stats.GetSystemUserCountStatsQuery) (result *stats.SystemUserCountStats, err error) {
|
||||
err = ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
var rawSQL = `SELECT COUNT(id) AS Count FROM ` + ss.db.GetDialect().Quote("user")
|
||||
var stats stats.SystemUserCountStats
|
||||
_, err := sess.SQL(rawSQL).Get(&stats)
|
||||
@@ -259,10 +264,11 @@ func (ss *sqlStatsService) GetSystemUserCountStats(ctx context.Context, query *s
|
||||
return err
|
||||
}
|
||||
|
||||
query.Result = &stats
|
||||
result = &stats
|
||||
|
||||
return nil
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStatsService) IsUnifiedAlertingEnabled() bool {
|
||||
|
||||
@@ -29,44 +29,44 @@ func TestIntegrationStatsDataAccess(t *testing.T) {
|
||||
|
||||
t.Run("Get system stats should not results in error", func(t *testing.T) {
|
||||
query := stats.GetSystemStatsQuery{}
|
||||
err := statsService.GetSystemStats(context.Background(), &query)
|
||||
result, err := statsService.GetSystemStats(context.Background(), &query)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, int64(3), query.Result.Users)
|
||||
assert.Equal(t, int64(0), query.Result.Editors)
|
||||
assert.Equal(t, int64(0), query.Result.Viewers)
|
||||
assert.Equal(t, int64(3), query.Result.Admins)
|
||||
assert.Equal(t, int64(0), query.Result.LibraryPanels)
|
||||
assert.Equal(t, int64(0), query.Result.LibraryVariables)
|
||||
assert.Equal(t, int64(0), query.Result.APIKeys)
|
||||
assert.Equal(t, int64(3), result.Users)
|
||||
assert.Equal(t, int64(0), result.Editors)
|
||||
assert.Equal(t, int64(0), result.Viewers)
|
||||
assert.Equal(t, int64(3), result.Admins)
|
||||
assert.Equal(t, int64(0), result.LibraryPanels)
|
||||
assert.Equal(t, int64(0), result.LibraryVariables)
|
||||
assert.Equal(t, int64(0), result.APIKeys)
|
||||
})
|
||||
|
||||
t.Run("Get system user count stats should not results in error", func(t *testing.T) {
|
||||
query := stats.GetSystemUserCountStatsQuery{}
|
||||
err := statsService.GetSystemUserCountStats(context.Background(), &query)
|
||||
_, err := statsService.GetSystemUserCountStats(context.Background(), &query)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Get datasource stats should not results in error", func(t *testing.T) {
|
||||
query := stats.GetDataSourceStatsQuery{}
|
||||
err := statsService.GetDataSourceStats(context.Background(), &query)
|
||||
_, err := statsService.GetDataSourceStats(context.Background(), &query)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Get datasource access stats should not results in error", func(t *testing.T) {
|
||||
query := stats.GetDataSourceAccessStatsQuery{}
|
||||
err := statsService.GetDataSourceAccessStats(context.Background(), &query)
|
||||
_, err := statsService.GetDataSourceAccessStats(context.Background(), &query)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Get alert notifier stats should not results in error", func(t *testing.T) {
|
||||
query := stats.GetAlertNotifierUsageStatsQuery{}
|
||||
err := statsService.GetAlertNotifiersUsageStats(context.Background(), &query)
|
||||
_, err := statsService.GetAlertNotifiersUsageStats(context.Background(), &query)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Get admin stats should not result in error", func(t *testing.T) {
|
||||
query := stats.GetAdminStatsQuery{}
|
||||
err := statsService.GetAdminStats(context.Background(), &query)
|
||||
_, err := statsService.GetAdminStats(context.Background(), &query)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
}
|
||||
@@ -126,6 +126,6 @@ func TestIntegration_GetAdminStats(t *testing.T) {
|
||||
statsService := ProvideService(&setting.Cfg{}, db)
|
||||
|
||||
query := stats.GetAdminStatsQuery{}
|
||||
err := statsService.GetAdminStats(context.Background(), &query)
|
||||
_, err := statsService.GetAdminStats(context.Background(), &query)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -19,30 +19,26 @@ func NewFakeService() *FakeService {
|
||||
return &FakeService{}
|
||||
}
|
||||
|
||||
func (s *FakeService) GetAdminStats(ctx context.Context, query *stats.GetAdminStatsQuery) error {
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetAdminStats(ctx context.Context, query *stats.GetAdminStatsQuery) (*stats.AdminStats, error) {
|
||||
return nil, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetAlertNotifiersUsageStats(ctx context.Context, query *stats.GetAlertNotifierUsageStatsQuery) error {
|
||||
query.Result = s.ExpectedNotifierUsageStats
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetAlertNotifiersUsageStats(ctx context.Context, query *stats.GetAlertNotifierUsageStatsQuery) ([]*stats.NotifierUsageStats, error) {
|
||||
return s.ExpectedNotifierUsageStats, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetDataSourceStats(ctx context.Context, query *stats.GetDataSourceStatsQuery) error {
|
||||
query.Result = s.ExpectedDataSourceStats
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetDataSourceStats(ctx context.Context, query *stats.GetDataSourceStatsQuery) ([]*stats.DataSourceStats, error) {
|
||||
return s.ExpectedDataSourceStats, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetDataSourceAccessStats(ctx context.Context, query *stats.GetDataSourceAccessStatsQuery) error {
|
||||
query.Result = s.ExpectedDataSourcesAccessStats
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetDataSourceAccessStats(ctx context.Context, query *stats.GetDataSourceAccessStatsQuery) ([]*stats.DataSourceAccessStats, error) {
|
||||
return s.ExpectedDataSourcesAccessStats, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetSystemStats(ctx context.Context, query *stats.GetSystemStatsQuery) error {
|
||||
query.Result = s.ExpectedSystemStats
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetSystemStats(ctx context.Context, query *stats.GetSystemStatsQuery) (*stats.SystemStats, error) {
|
||||
return s.ExpectedSystemStats, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetSystemUserCountStats(ctx context.Context, query *stats.GetSystemUserCountStatsQuery) error {
|
||||
return s.ExpectedError
|
||||
func (s *FakeService) GetSystemUserCountStats(ctx context.Context, query *stats.GetSystemUserCountStatsQuery) (*stats.SystemUserCountStats, error) {
|
||||
return nil, s.ExpectedError
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user