plugins.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package dtos
  2. import (
  3. "github.com/grafana/grafana/pkg/components/simplejson"
  4. "github.com/grafana/grafana/pkg/plugins"
  5. )
  6. type PluginSetting struct {
  7. Name string `json:"name"`
  8. Type string `json:"type"`
  9. Id string `json:"id"`
  10. Enabled bool `json:"enabled"`
  11. Pinned bool `json:"pinned"`
  12. Module string `json:"module"`
  13. BaseUrl string `json:"baseUrl"`
  14. Info *plugins.PluginInfo `json:"info"`
  15. Includes []*plugins.PluginInclude `json:"includes"`
  16. Dependencies *plugins.PluginDependencies `json:"dependencies"`
  17. JsonData map[string]interface{} `json:"jsonData"`
  18. DefaultNavUrl string `json:"defaultNavUrl"`
  19. LatestVersion string `json:"latestVersion"`
  20. HasUpdate bool `json:"hasUpdate"`
  21. State string `json:"state"`
  22. }
  23. type PluginListItem struct {
  24. Name string `json:"name"`
  25. Type string `json:"type"`
  26. Id string `json:"id"`
  27. Enabled bool `json:"enabled"`
  28. Pinned bool `json:"pinned"`
  29. Info *plugins.PluginInfo `json:"info"`
  30. LatestVersion string `json:"latestVersion"`
  31. HasUpdate bool `json:"hasUpdate"`
  32. DefaultNavUrl string `json:"defaultNavUrl"`
  33. State string `json:"state"`
  34. }
  35. type PluginList []PluginListItem
  36. func (slice PluginList) Len() int {
  37. return len(slice)
  38. }
  39. func (slice PluginList) Less(i, j int) bool {
  40. return slice[i].Name < slice[j].Name
  41. }
  42. func (slice PluginList) Swap(i, j int) {
  43. slice[i], slice[j] = slice[j], slice[i]
  44. }
  45. type ImportDashboardCommand struct {
  46. PluginId string `json:"pluginId"`
  47. Path string `json:"path"`
  48. Overwrite bool `json:"overwrite"`
  49. Dashboard *simplejson.Json `json:"dashboard"`
  50. Inputs []plugins.ImportDashboardInput `json:"inputs"`
  51. FolderId int64 `json:"folderId"`
  52. }