mirror of
https://github.com/grafana/grafana.git
synced 2026-08-26 21:37:31 -05:00
Return plugin error when requesting settings (#86052)
This commit is contained in:
@@ -36,3 +36,7 @@ func (t *fakeErrorTracker) Errors(ctx context.Context) []*plugins.Error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *fakeErrorTracker) Error(ctx context.Context, pluginID string) *plugins.Error {
|
||||
return &plugins.Error{}
|
||||
}
|
||||
|
||||
@@ -65,10 +65,10 @@ func ProvideInitializationStage(cfg *config.PluginManagementCfg, pr registry.Ser
|
||||
InitializeFuncs: []initialization.InitializeFunc{
|
||||
ExternalServiceRegistrationStep(cfg, externalServiceRegistry, tracer),
|
||||
initialization.BackendClientInitStep(pluginEnvProvider, bp),
|
||||
initialization.PluginRegistrationStep(pr),
|
||||
initialization.BackendProcessStartStep(pm),
|
||||
RegisterPluginRolesStep(roleRegistry),
|
||||
ReportBuildMetrics,
|
||||
initialization.PluginRegistrationStep(pr),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -28,6 +28,16 @@ func (s *Store) PluginErrors(ctx context.Context) []*plugins.Error {
|
||||
return errs
|
||||
}
|
||||
|
||||
func (s *Store) PluginError(ctx context.Context, pluginID string) *plugins.Error {
|
||||
err := s.errs.Error(ctx, pluginID)
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
err.ErrorCode = err.AsErrorCode()
|
||||
return err
|
||||
}
|
||||
|
||||
type ErrorRegistry struct {
|
||||
errs map[string]*plugins.Error
|
||||
log log.Logger
|
||||
@@ -37,6 +47,7 @@ type ErrorTracker interface {
|
||||
Record(ctx context.Context, err *plugins.Error)
|
||||
Clear(ctx context.Context, pluginID string)
|
||||
Errors(ctx context.Context) []*plugins.Error
|
||||
Error(ctx context.Context, pluginID string) *plugins.Error
|
||||
}
|
||||
|
||||
func ProvideErrorTracker() *ErrorRegistry {
|
||||
@@ -65,3 +76,7 @@ func (r *ErrorRegistry) Errors(_ context.Context) []*plugins.Error {
|
||||
}
|
||||
return errs
|
||||
}
|
||||
|
||||
func (r *ErrorRegistry) Error(_ context.Context, pluginID string) *plugins.Error {
|
||||
return r.errs[pluginID]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user