Plugins: Support changing plugin IDs (hardcoded) (#67867)
This commit is contained in:
@@ -77,6 +77,7 @@ func (hs *HTTPServer) GetDataSources(c *contextmodel.ReqContext) response.Respon
|
||||
if plugin, exists := hs.pluginStore.Plugin(c.Req.Context(), ds.Type); exists {
|
||||
dsItem.TypeLogoUrl = plugin.Info.Logos.Small
|
||||
dsItem.TypeName = plugin.Name
|
||||
dsItem.Type = plugin.ID // may be from an alias
|
||||
} else {
|
||||
dsItem.TypeLogoUrl = "public/img/icn-datasource.svg"
|
||||
}
|
||||
@@ -730,6 +731,15 @@ func (hs *HTTPServer) convertModelToDtos(ctx context.Context, ds *datasources.Da
|
||||
ReadOnly: ds.ReadOnly,
|
||||
}
|
||||
|
||||
if hs.pluginStore != nil {
|
||||
if plugin, exists := hs.pluginStore.Plugin(ctx, ds.Type); exists {
|
||||
dto.TypeLogoUrl = plugin.Info.Logos.Small
|
||||
dto.Type = plugin.ID // may be from an alias
|
||||
} else {
|
||||
dto.TypeLogoUrl = "public/img/icn-datasource.svg"
|
||||
}
|
||||
}
|
||||
|
||||
secrets, err := hs.DataSourcesService.DecryptedValues(ctx, ds)
|
||||
if err == nil {
|
||||
for k, v := range secrets {
|
||||
|
||||
@@ -71,6 +71,7 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro
|
||||
panels[panel.ID] = plugins.PanelDTO{
|
||||
ID: panel.ID,
|
||||
Name: panel.Name,
|
||||
Alias: panel.Alias,
|
||||
Info: panel.Info,
|
||||
Module: panel.Module,
|
||||
BaseURL: panel.BaseURL,
|
||||
@@ -318,6 +319,7 @@ func (hs *HTTPServer) getFSDataSources(c *contextmodel.ReqContext, availablePlug
|
||||
continue
|
||||
}
|
||||
plugin := ap.Plugin
|
||||
dsDTO.Type = plugin.ID
|
||||
dsDTO.Preload = plugin.Preload
|
||||
dsDTO.Module = plugin.Module
|
||||
dsDTO.PluginMeta = &plugins.PluginMetaDTO{
|
||||
@@ -479,10 +481,15 @@ type availablePluginDTO struct {
|
||||
type AvailablePlugins map[plugins.Type]map[string]*availablePluginDTO
|
||||
|
||||
func (ap AvailablePlugins) Get(pluginType plugins.Type, pluginID string) (*availablePluginDTO, bool) {
|
||||
if _, exists := ap[pluginType][pluginID]; exists {
|
||||
return ap[pluginType][pluginID], true
|
||||
p, exists := ap[pluginType][pluginID]
|
||||
if exists {
|
||||
return p, true
|
||||
}
|
||||
for _, p = range ap[pluginType] {
|
||||
if p.Plugin.ID == pluginID || p.Plugin.Alias == pluginID {
|
||||
return p, true
|
||||
}
|
||||
}
|
||||
|
||||
return nil, false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user