Files
grafana/pkg/plugins/repo/models.go
2025-05-12 09:45:56 +02:00

43 lines
1.1 KiB
Go

package repo
import "archive/zip"
type PluginArchive struct {
File *zip.ReadCloser
}
type PluginArchiveInfo struct {
URL string
Version string
Checksum string
}
// PluginVersions is the JSON response from /api/plugins/$pluginID/versions
type PluginVersions struct {
Versions []Version `json:"items"`
}
type Version struct {
Version string `json:"version"`
Arch map[string]ArchMeta `json:"packages"`
URL string `json:"url"`
CreatedAt string `json:"createdAt"`
IsCompatible *bool `json:"isCompatible,omitempty"`
GrafanaDependency string `json:"grafanaDependency"`
}
type ArchMeta struct {
SHA256 string `json:"sha256"`
MD5 string `json:"md5"`
PackageName string `json:"packageName"`
DownloadURL string `json:"downloadUrl"`
}
// PluginInfo is (a subset of) the JSON response from grafana.com/api/plugins/$pluginID
type PluginInfo struct {
ID int `json:"id"`
Status string `json:"status"`
Slug string `json:"slug"`
Version string `json:"version"`
}