model.go 941 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. Dependencies Dependencies `json:"dependencies"`
  11. }
  12. type Dependencies struct {
  13. GrafanaVersion string `json:"grafanaVersion"`
  14. }
  15. type PluginInfo struct {
  16. Version string `json:"version"`
  17. Updated string `json:"updated"`
  18. }
  19. type Plugin struct {
  20. Id string `json:"id"`
  21. Category string `json:"category"`
  22. Versions []Version `json:"versions"`
  23. }
  24. type Version struct {
  25. Commit string `json:"commit"`
  26. Url string `json:"url"`
  27. Version string `json:"version"`
  28. }
  29. type PluginRepo struct {
  30. Plugins []Plugin `json:"plugins"`
  31. Version string `json:"version"`
  32. }
  33. type IoUtil interface {
  34. Stat(path string) (os.FileInfo, error)
  35. RemoveAll(path string) error
  36. ReadDir(path string) ([]os.FileInfo, error)
  37. ReadFile(filename string) ([]byte, error)
  38. }