Chore: Add context to playlist (#41337)
* Add context to playlist * Add AddEventListenerCtx and more context * Update pkg/services/sqlstore/playlist.go Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> * Update pkg/services/sqlstore/playlist.go Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> * Update pkg/services/sqlstore/playlist.go Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> * Fix lint * Rename listener help function Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
@@ -19,7 +19,7 @@ func ProvideService(pluginStore plugins.Store, pluginDashboardManager plugins.Pl
|
||||
pluginDashboardManager: pluginDashboardManager,
|
||||
logger: log.New("plugindashboards"),
|
||||
}
|
||||
bus.AddEventListener(s.handlePluginStateChanged)
|
||||
bus.AddEventListenerCtx(s.handlePluginStateChanged)
|
||||
s.updateAppDashboards()
|
||||
return s
|
||||
}
|
||||
@@ -72,7 +72,7 @@ func (s *Service) syncPluginDashboards(ctx context.Context, plugin plugins.Plugi
|
||||
s.logger.Info("Deleting plugin dashboard", "pluginId", plugin.ID, "dashboard", dash.Slug)
|
||||
|
||||
deleteCmd := models.DeleteDashboardCommand{OrgId: orgID, Id: dash.DashboardId}
|
||||
if err := bus.Dispatch(&deleteCmd); err != nil {
|
||||
if err := bus.DispatchCtx(ctx, &deleteCmd); err != nil {
|
||||
s.logger.Error("Failed to auto update app dashboard", "pluginId", plugin.ID, "error", err)
|
||||
return
|
||||
}
|
||||
@@ -108,26 +108,26 @@ func (s *Service) syncPluginDashboards(ctx context.Context, plugin plugins.Plugi
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Service) handlePluginStateChanged(event *models.PluginStateChangedEvent) error {
|
||||
func (s *Service) handlePluginStateChanged(ctx context.Context, event *models.PluginStateChangedEvent) error {
|
||||
s.logger.Info("Plugin state changed", "pluginId", event.PluginId, "enabled", event.Enabled)
|
||||
|
||||
if event.Enabled {
|
||||
p, exists := s.pluginStore.Plugin(context.TODO(), event.PluginId)
|
||||
p, exists := s.pluginStore.Plugin(ctx, event.PluginId)
|
||||
if !exists {
|
||||
return fmt.Errorf("plugin %s not found. Could not sync plugin dashboards", event.PluginId)
|
||||
}
|
||||
|
||||
s.syncPluginDashboards(context.TODO(), p, event.OrgId)
|
||||
s.syncPluginDashboards(ctx, p, event.OrgId)
|
||||
} else {
|
||||
query := models.GetDashboardsByPluginIdQuery{PluginId: event.PluginId, OrgId: event.OrgId}
|
||||
if err := bus.DispatchCtx(context.TODO(), &query); err != nil {
|
||||
if err := bus.DispatchCtx(ctx, &query); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, dash := range query.Result {
|
||||
s.logger.Info("Deleting plugin dashboard", "pluginId", event.PluginId, "dashboard", dash.Slug)
|
||||
deleteCmd := models.DeleteDashboardCommand{OrgId: dash.OrgId, Id: dash.Id}
|
||||
if err := bus.Dispatch(&deleteCmd); err != nil {
|
||||
if err := bus.DispatchCtx(ctx, &deleteCmd); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user