hacompanion/HaCompanion/Controllers/UptimeMonitorController.cs
Erki 4d7ac3e5c3
Some checks failed
Build and push latest / publish (push) Failing after 1m28s
Initial
2025-03-29 20:32:58 +02:00

30 lines
844 B
C#

using Microsoft.AspNetCore.Mvc;
namespace HaCompanion.Controllers;
[ApiController]
[Route("uptime")]
public class UptimeMonitorController : ControllerBase
{
private readonly ILogger<UptimeMonitorController> _logger;
private readonly UptimePollerService _uptimeService;
public UptimeMonitorController(ILogger<UptimeMonitorController> logger, IServiceProvider services)
{
_logger = logger;
_uptimeService = services.GetServices<IHostedService>().OfType<UptimePollerService>().Single();
}
[HttpGet]
public IDictionary<string, UptimeStatistics> Get()
{
var resultDict = new Dictionary<string, UptimeStatistics>();
foreach (var stats in _uptimeService.GetUptimeStatistics())
{
resultDict.Add(stats.Website, stats);
}
return resultDict;
}
}