using System.Collections.Generic; using Lidarr.Http; using NzbDrone.Core.Datastore.Events; using NzbDrone.Core.HealthCheck; using NzbDrone.Core.Messaging.Events; using NzbDrone.SignalR; namespace Lidarr.Api.V1.Health { public class HealthModule : LidarrRestModuleWithSignalR, IHandle { private readonly IHealthCheckService _healthCheckService; public HealthModule(IBroadcastSignalRMessage signalRBroadcaster, IHealthCheckService healthCheckService) : base(signalRBroadcaster) { _healthCheckService = healthCheckService; GetResourceAll = GetHealth; } private List GetHealth() { return _healthCheckService.Results().ToResource(); } public void Handle(HealthCheckCompleteEvent message) { BroadcastResourceChange(ModelAction.Sync); } } }