Pārlūkot izejas kodu

feat(): update checks starting to work

Torkel Ödegaard 9 gadi atpakaļ
vecāks
revīzija
6ac3bd4c7c

+ 4 - 1
pkg/api/dtos/plugins.go

@@ -15,6 +15,9 @@ type PluginSetting struct {
 	Dependencies  *plugins.PluginDependencies `json:"dependencies"`
 	JsonData      map[string]interface{}      `json:"jsonData"`
 	DefaultNavUrl string                      `json:"defaultNavUrl"`
+
+	LatestVersion string `json:"latestVersion"`
+	HasUpdate     bool   `json:"hasUpdate"`
 }
 
 type PluginListItem struct {
@@ -24,7 +27,7 @@ type PluginListItem struct {
 	Enabled       bool                `json:"enabled"`
 	Pinned        bool                `json:"pinned"`
 	Info          *plugins.PluginInfo `json:"info"`
-	LastesVersion string              `json:"latestVersion"`
+	LatestVersion string              `json:"latestVersion"`
 	HasUpdate     bool                `json:"hasUpdate"`
 }
 

+ 8 - 4
pkg/api/plugins.go

@@ -34,10 +34,12 @@ func GetPluginList(c *middleware.Context) Response {
 		}
 
 		listItem := dtos.PluginListItem{
-			Id:   pluginDef.Id,
-			Name: pluginDef.Name,
-			Type: pluginDef.Type,
-			Info: &pluginDef.Info,
+			Id:            pluginDef.Id,
+			Name:          pluginDef.Name,
+			Type:          pluginDef.Type,
+			Info:          &pluginDef.Info,
+			LatestVersion: pluginDef.GrafanaNetVersion,
+			HasUpdate:     pluginDef.GrafanaNetHasUpdate,
 		}
 
 		if pluginSetting, exists := pluginSettingsMap[pluginDef.Id]; exists {
@@ -81,6 +83,8 @@ func GetPluginSettingById(c *middleware.Context) Response {
 			BaseUrl:       def.BaseUrl,
 			Module:        def.Module,
 			DefaultNavUrl: def.DefaultNavUrl,
+			LatestVersion: def.GrafanaNetVersion,
+			HasUpdate:     def.GrafanaNetHasUpdate,
 		}
 
 		query := m.GetPluginSettingByIdQuery{PluginId: pluginId, OrgId: c.OrgId}

+ 1 - 1
pkg/plugins/plugins.go

@@ -73,7 +73,7 @@ func Init() error {
 		app.initApp()
 	}
 
-	StartPluginUpdateChecker()
+	go StartPluginUpdateChecker()
 	return nil
 }
 

+ 2 - 1
pkg/plugins/update_checker.go

@@ -47,7 +47,7 @@ func checkForUpdates() {
 	log.Trace("Checking for updates")
 
 	client := http.Client{Timeout: time.Duration(5 * time.Second)}
-	resp, err := client.Get("https://grafana.net/api/plugins/repo?grafanaVersion=" + setting.BuildVersion)
+	resp, err := client.Get("https://grafana.net/api/plugins/repo")
 
 	if err != nil {
 		log.Trace("Failed to get plugins repo from grafana.net, %v", err.Error())
@@ -69,6 +69,7 @@ func checkForUpdates() {
 		return
 	}
 
+	log.Info("GNET PLUG: %v", len(data.Plugins))
 	for _, plug := range Plugins {
 		for _, gplug := range data.Plugins {
 			if gplug.Id == plug.Id {