using Microsoft.Extensions.Options; using Tau.Acuvim.Portal.Configuration; using Tau.Acuvim.Portal.DTOs; namespace Tau.Acuvim.Portal.Services; public sealed class GrafanaService(IOptions options) { public GrafanaConfigDto GetConfig() { var opts = options.Value; var dashboards = opts.Dashboards .Where(d => !string.IsNullOrWhiteSpace(d.Uid)) .Select(d => new GrafanaDashboardDto(d.Uid, d.Title, d.Description)) .ToArray(); return new GrafanaConfigDto(opts.BaseUrl, opts.DefaultDashboardUid, dashboards); } }