model.go 975 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package models
  2. import (
  3. "os"
  4. )
  5. type InstalledPlugin struct {
  6. Id string `json:"id"`
  7. Name string `json:"name"`
  8. Type string `json:"type"`
  9. Info PluginInfo `json:"info"`
  10. Dependency Dependency `json:"dependencies"`
  11. }
  12. type Dependency struct {
  13. GrafanaVersion string `json:"grafanaVersion"`
  14. Plugins []Plugin `json:"plugins"`
  15. }
  16. type PluginInfo struct {
  17. Version string `json:"version"`
  18. Updated string `json:"updated"`
  19. }
  20. type Plugin struct {
  21. Id string `json:"id"`
  22. Category string `json:"category"`
  23. Versions []Version `json:"versions"`
  24. }
  25. type Version struct {
  26. Commit string `json:"commit"`
  27. Url string `json:"url"`
  28. Version string `json:"version"`
  29. }
  30. type PluginRepo struct {
  31. Plugins []Plugin `json:"plugins"`
  32. Version string `json:"version"`
  33. }
  34. type IoUtil interface {
  35. Stat(path string) (os.FileInfo, error)
  36. RemoveAll(path string) error
  37. ReadDir(path string) ([]os.FileInfo, error)
  38. ReadFile(filename string) ([]byte, error)
  39. }