mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 01:52:37 +08:00
39 lines
781 B
Go
39 lines
781 B
Go
package plugins
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
type AppPluginPage struct {
|
|
Text string `json:"text"`
|
|
Icon string `json:"icon"`
|
|
Url string `json:"url"`
|
|
ReqRole models.RoleType `json:"reqRole"`
|
|
}
|
|
|
|
type AppPluginCss struct {
|
|
Light string `json:"light"`
|
|
Dark string `json:"dark"`
|
|
}
|
|
|
|
type AppPlugin struct {
|
|
FrontendPluginBase
|
|
Enabled bool `json:"enabled"`
|
|
Pinned bool `json:"pinned"`
|
|
Css *AppPluginCss `json:"css"`
|
|
Page *AppPluginPage `json:"page"`
|
|
}
|
|
|
|
func (p *AppPlugin) Load(decoder *json.Decoder, pluginDir string) error {
|
|
if err := decoder.Decode(&p); err != nil {
|
|
return err
|
|
}
|
|
|
|
p.PluginDir = pluginDir
|
|
p.initFrontendPlugin()
|
|
Apps[p.Id] = p
|
|
return nil
|
|
}
|