Plugins: Move store and plugin dto to pluginsintegration (#74655)

move store and plugin dto
This commit is contained in:
Will Browne
2023-09-11 13:59:24 +02:00
committed by GitHub
parent 499b02b3c6
commit e855efb13d
63 changed files with 359 additions and 335 deletions

View File

@ -0,0 +1,78 @@
package pluginstore
import (
"github.com/grafana/grafana-plugin-sdk-go/backend"
"github.com/grafana/grafana/pkg/plugins"
)
type Plugin struct {
plugins.JSONData
fs plugins.FS
supportsStreaming bool
Class plugins.Class
// App fields
IncludedInAppID string
DefaultNavURL string
Pinned bool
// Signature fields
Signature plugins.SignatureStatus
SignatureType plugins.SignatureType
SignatureOrg string
SignatureError *plugins.SignatureError
// SystemJS fields
Module string
BaseURL string
AngularDetected bool
// This will be moved to plugin.json when we have general support in gcom
Alias string `json:"alias,omitempty"`
}
func (p Plugin) SupportsStreaming() bool {
return p.supportsStreaming
}
func (p Plugin) Base() string {
return p.fs.Base()
}
func (p Plugin) IsApp() bool {
return p.Type == plugins.TypeApp
}
func (p Plugin) IsCorePlugin() bool {
return p.Class == plugins.ClassCore
}
func ToGrafanaDTO(p *plugins.Plugin) Plugin {
supportsStreaming := false
pc, exists := p.Client()
if exists && pc != nil && pc.(backend.StreamHandler) != nil {
supportsStreaming = false
}
return Plugin{
fs: p.FS,
supportsStreaming: supportsStreaming,
Class: p.Class,
JSONData: p.JSONData,
IncludedInAppID: p.IncludedInAppID,
DefaultNavURL: p.DefaultNavURL,
Pinned: p.Pinned,
Signature: p.Signature,
SignatureType: p.SignatureType,
SignatureOrg: p.SignatureOrg,
SignatureError: p.SignatureError,
Module: p.Module,
BaseURL: p.BaseURL,
AngularDetected: p.AngularDetected,
Alias: p.Alias,
}
}