diff --git a/pkg/api/dtos/frontend_settings.go b/pkg/api/dtos/frontend_settings.go index 673a821e69d..a1390485a27 100644 --- a/pkg/api/dtos/frontend_settings.go +++ b/pkg/api/dtos/frontend_settings.go @@ -152,13 +152,6 @@ type FrontendSettingsSqlConnectionLimitsDTO struct { ConnMaxLifetime int `json:"connMaxLifetime"` } -type DependencyInfo struct { - PluginID string `json:"id"` - PluginName string `json:"name"` - PluginType string `json:"type"` - PluginVersion string `json:"version"` -} - type FrontendSettingsDTO struct { DefaultDatasource string `json:"defaultDatasource"` Datasources map[string]plugins.DataSourceDTO `json:"datasources"` @@ -227,31 +220,31 @@ type FrontendSettingsDTO struct { LicenseInfo FrontendSettingsLicenseInfoDTO `json:"licenseInfo"` - FeatureToggles map[string]bool `json:"featureToggles"` - AnonymousEnabled bool `json:"anonymousEnabled"` - AnonymousDeviceLimit int64 `json:"anonymousDeviceLimit"` - RendererAvailable bool `json:"rendererAvailable"` - RendererVersion string `json:"rendererVersion"` - RendererDefaultImageWidth int `json:"rendererDefaultImageWidth"` - RendererDefaultImageHeight int `json:"rendererDefaultImageHeight"` - RendererDefaultImageScale float64 `json:"rendererDefaultImageScale"` - SecretsManagerPluginEnabled bool `json:"secretsManagerPluginEnabled"` - Http2Enabled bool `json:"http2Enabled"` - GrafanaJavascriptAgent setting.GrafanaJavascriptAgent `json:"grafanaJavascriptAgent"` - PluginCatalogURL string `json:"pluginCatalogURL"` - PluginAdminEnabled bool `json:"pluginAdminEnabled"` - PluginAdminExternalManageEnabled bool `json:"pluginAdminExternalManageEnabled"` - PluginCatalogHiddenPlugins []string `json:"pluginCatalogHiddenPlugins"` - PluginCatalogManagedPlugins []string `json:"pluginCatalogManagedPlugins"` - PluginCatalogPreinstalledPlugins []setting.InstallPlugin `json:"pluginCatalogPreinstalledPlugins"` - ExpressionsEnabled bool `json:"expressionsEnabled"` - AwsAllowedAuthProviders []string `json:"awsAllowedAuthProviders"` - AwsAssumeRoleEnabled bool `json:"awsAssumeRoleEnabled"` - SupportBundlesEnabled bool `json:"supportBundlesEnabled"` - SnapshotEnabled bool `json:"snapshotEnabled"` - SecureSocksDSProxyEnabled bool `json:"secureSocksDSProxyEnabled"` - ReportingStaticContext map[string]string `json:"reportingStaticContext"` - PluginDependencies map[string][]DependencyInfo `json:"pluginDependants"` + FeatureToggles map[string]bool `json:"featureToggles"` + AnonymousEnabled bool `json:"anonymousEnabled"` + AnonymousDeviceLimit int64 `json:"anonymousDeviceLimit"` + RendererAvailable bool `json:"rendererAvailable"` + RendererVersion string `json:"rendererVersion"` + RendererDefaultImageWidth int `json:"rendererDefaultImageWidth"` + RendererDefaultImageHeight int `json:"rendererDefaultImageHeight"` + RendererDefaultImageScale float64 `json:"rendererDefaultImageScale"` + SecretsManagerPluginEnabled bool `json:"secretsManagerPluginEnabled"` + Http2Enabled bool `json:"http2Enabled"` + GrafanaJavascriptAgent setting.GrafanaJavascriptAgent `json:"grafanaJavascriptAgent"` + PluginCatalogURL string `json:"pluginCatalogURL"` + PluginAdminEnabled bool `json:"pluginAdminEnabled"` + PluginAdminExternalManageEnabled bool `json:"pluginAdminExternalManageEnabled"` + PluginCatalogHiddenPlugins []string `json:"pluginCatalogHiddenPlugins"` + PluginCatalogManagedPlugins []string `json:"pluginCatalogManagedPlugins"` + PluginCatalogPreinstalledPlugins []setting.InstallPlugin `json:"pluginCatalogPreinstalledPlugins"` + ExpressionsEnabled bool `json:"expressionsEnabled"` + AwsAllowedAuthProviders []string `json:"awsAllowedAuthProviders"` + AwsAssumeRoleEnabled bool `json:"awsAssumeRoleEnabled"` + SupportBundlesEnabled bool `json:"supportBundlesEnabled"` + SnapshotEnabled bool `json:"snapshotEnabled"` + SecureSocksDSProxyEnabled bool `json:"secureSocksDSProxyEnabled"` + ReportingStaticContext map[string]string `json:"reportingStaticContext"` + PluginDependencies map[string][]plugins.Dependency `json:"pluginDependants"` Azure FrontendSettingsAzureDTO `json:"azure"` diff --git a/pkg/api/frontendsettings.go b/pkg/api/frontendsettings.go index e980ed6020e..1bcee45b8fb 100644 --- a/pkg/api/frontendsettings.go +++ b/pkg/api/frontendsettings.go @@ -250,7 +250,7 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro ExploreHideLogsDownload: hs.Cfg.ExploreHideLogsDownload, DefaultDatasourceManageAlertsUIToggle: hs.Cfg.DefaultDatasourceManageAlertsUIToggle, - PluginDependencies: pluginDependencyMap(c.Req.Context(), hs.pluginStore), + PluginDependencies: pluginDependencyMap(c.Req.Context(), hs.pluginStore), BuildInfo: dtos.FrontendSettingsBuildInfoDTO{ HideVersion: hideVersion, @@ -795,19 +795,19 @@ func (hs *HTTPServer) getEnabledOAuthProviders() map[string]any { } // pluginDependencyMap returns a map of dependant plugin IDs to their parent. -func pluginDependencyMap(ctx context.Context, pluginStore pluginstore.Store) map[string][]dtos.DependencyInfo { - dependencies := make(map[string][]dtos.DependencyInfo) +func pluginDependencyMap(ctx context.Context, pluginStore pluginstore.Store) map[string][]plugins.Dependency { + dependencies := make(map[string][]plugins.Dependency) for _, plugin := range pluginStore.Plugins(ctx) { for _, dep := range plugin.Dependencies.Plugins { if _, exists := dependencies[dep.ID]; !exists { - dependencies[dep.ID] = []dtos.DependencyInfo{} + dependencies[dep.ID] = []plugins.Dependency{} } - dependencies[dep.ID] = append(dependencies[dep.ID], dtos.DependencyInfo{ - PluginID: plugin.ID, - PluginVersion: plugin.Info.Version, - PluginName: plugin.Name, - PluginType: string(plugin.Type), + dependencies[dep.ID] = append(dependencies[dep.ID], plugins.Dependency{ + ID: plugin.ID, + Version: plugin.Info.Version, + Name: plugin.Name, + Type: string(plugin.Type), }) } }