Return plugin error when requesting settings (#86052)

This commit is contained in:
Andres Martinez Gotor
2024-04-18 14:29:02 +02:00
committed by GitHub
parent 8373fc3544
commit eac02a61e1
7 changed files with 129 additions and 1 deletions
@@ -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]
}