plugins.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 plugins.PluginState `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. Category string `json:"category"`
  34. State plugins.PluginState `json:"state"`
  35. }
  36. type PluginList []PluginListItem
  37. func (slice PluginList) Len() int {
  38. return len(slice)
  39. }
  40. func (slice PluginList) Less(i, j int) bool {
  41. return slice[i].Name < slice[j].Name
  42. }
  43. func (slice PluginList) Swap(i, j int) {
  44. slice[i], slice[j] = slice[j], slice[i]
  45. }
  46. type ImportDashboardCommand struct {
  47. PluginId string `json:"pluginId"`
  48. Path string `json:"path"`
  49. Overwrite bool `json:"overwrite"`
  50. Dashboard *simplejson.Json `json:"dashboard"`
  51. Inputs []plugins.ImportDashboardInput `json:"inputs"`
  52. FolderId int64 `json:"folderId"`
  53. }