mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 02:52:27 +08:00
50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package dtos
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/models"
|
|
"github.com/grafana/grafana/pkg/plugins"
|
|
)
|
|
|
|
type PluginSetting struct {
|
|
Name string `json:"name"`
|
|
AppId string `json:"appId"`
|
|
Enabled bool `json:"enabled"`
|
|
Pinned bool `json:"pinned"`
|
|
Module string `json:"module"`
|
|
BaseUrl string `json:"baseUrl"`
|
|
Info *plugins.PluginInfo `json:"info"`
|
|
Pages []*plugins.AppPluginPage `json:"pages"`
|
|
Includes []*plugins.AppIncludeInfo `json:"includes"`
|
|
JsonData map[string]interface{} `json:"jsonData"`
|
|
}
|
|
|
|
type PluginListItem struct {
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
PluginId string `json:"pluginId"`
|
|
Enabled bool `json:"enabled"`
|
|
Pinned bool `json:"pinned"`
|
|
Info *plugins.PluginInfo `json:"info"`
|
|
}
|
|
|
|
func NewPluginSettingDto(def *plugins.AppPlugin, data *models.PluginSetting) *PluginSetting {
|
|
dto := &PluginSetting{
|
|
AppId: def.Id,
|
|
Name: def.Name,
|
|
Info: &def.Info,
|
|
Module: def.Module,
|
|
BaseUrl: def.BaseUrl,
|
|
Pages: def.Pages,
|
|
Includes: def.Includes,
|
|
}
|
|
|
|
if data != nil {
|
|
dto.Enabled = data.Enabled
|
|
dto.Pinned = data.Pinned
|
|
dto.Info = &def.Info
|
|
dto.JsonData = data.JsonData
|
|
}
|
|
|
|
return dto
|
|
}
|