Просмотр исходного кода

Merge pull request #3795 from raintank/apiPlugin

get apiPlugins working again.
Torkel Ödegaard 10 лет назад
Родитель
Сommit
f30df8bb57
2 измененных файлов с 30 добавлено и 16 удалено
  1. 30 0
      pkg/plugins/api_plugin.go
  2. 0 16
      pkg/plugins/models.go

+ 30 - 0
pkg/plugins/api_plugin.go

@@ -0,0 +1,30 @@
+package plugins
+
+import (
+	"encoding/json"
+
+	"github.com/grafana/grafana/pkg/models"
+)
+
+type ApiPluginRoute struct {
+	Path            string          `json:"path"`
+	Method          string          `json:"method"`
+	ReqSignedIn     bool            `json:"reqSignedIn"`
+	ReqGrafanaAdmin bool            `json:"reqGrafanaAdmin"`
+	ReqRole         models.RoleType `json:"reqRole"`
+	Url             string          `json:"url"`
+}
+
+type ApiPlugin struct {
+	PluginBase
+	Routes []*ApiPluginRoute `json:"routes"`
+}
+
+func (app *ApiPlugin) Load(decoder *json.Decoder, pluginDir string) error {
+	if err := decoder.Decode(&app); err != nil {
+		return err
+	}
+
+	ApiPlugins[app.Id] = app
+	return nil
+}

+ 0 - 16
pkg/plugins/models.go

@@ -2,8 +2,6 @@ package plugins
 
 import (
 	"encoding/json"
-
-	"github.com/grafana/grafana/pkg/models"
 )
 
 type PluginLoader interface {
@@ -44,20 +42,6 @@ type PluginStaticRoute struct {
 	PluginId  string
 }
 
-type ApiPluginRoute struct {
-	Path            string          `json:"path"`
-	Method          string          `json:"method"`
-	ReqSignedIn     bool            `json:"reqSignedIn"`
-	ReqGrafanaAdmin bool            `json:"reqGrafanaAdmin"`
-	ReqRole         models.RoleType `json:"reqRole"`
-	Url             string          `json:"url"`
-}
-
-type ApiPlugin struct {
-	PluginBase
-	Routes []*ApiPluginRoute `json:"routes"`
-}
-
 type EnabledPlugins struct {
 	Panels      []*PanelPlugin
 	DataSources map[string]*DataSourcePlugin