mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			993 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			993 B
		
	
	
	
		
			Go
		
	
	
	
package api
 | 
						|
 | 
						|
import (
 | 
						|
	"strings"
 | 
						|
 | 
						|
	"github.com/grafana/grafana/pkg/bus"
 | 
						|
	"github.com/grafana/grafana/pkg/middleware"
 | 
						|
	m "github.com/grafana/grafana/pkg/models"
 | 
						|
	"github.com/grafana/grafana/pkg/setting"
 | 
						|
)
 | 
						|
 | 
						|
func AdminGetSettings(c *middleware.Context) {
 | 
						|
	settings := make(map[string]interface{})
 | 
						|
 | 
						|
	for _, section := range setting.Cfg.Sections() {
 | 
						|
		jsonSec := make(map[string]interface{})
 | 
						|
		settings[section.Name()] = jsonSec
 | 
						|
 | 
						|
		for _, key := range section.Keys() {
 | 
						|
			keyName := key.Name()
 | 
						|
			value := key.Value()
 | 
						|
			if strings.Contains(keyName, "secret") || strings.Contains(keyName, "password") || (strings.Contains(keyName, "provider_config")) {
 | 
						|
				value = "************"
 | 
						|
			}
 | 
						|
 | 
						|
			jsonSec[keyName] = value
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	c.JSON(200, settings)
 | 
						|
}
 | 
						|
 | 
						|
func AdminGetStats(c *middleware.Context) {
 | 
						|
 | 
						|
	statsQuery := m.GetAdminStatsQuery{}
 | 
						|
 | 
						|
	if err := bus.Dispatch(&statsQuery); err != nil {
 | 
						|
		c.JsonApiErr(500, "Failed to get admin stats from database", err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	c.JSON(200, statsQuery.Result)
 | 
						|
}
 |