namespace HrynCo.Common.HealthChecks; using HrynCo.Common.HealthChecks.Interfaces; using Microsoft.Extensions.Diagnostics.HealthChecks; public class CompositeHealthCheck : IHealthCheck { private readonly IConfigurationCheck _configCheck; private readonly bool _configOnly; private readonly IServiceHealthCheck _serviceCheck; public CompositeHealthCheck( IConfigurationCheck configCheck, IServiceHealthCheck serviceCheck, bool configOnly) { _configCheck = configCheck; _serviceCheck = serviceCheck; _configOnly = configOnly; } public Task CheckHealthAsync( HealthCheckContext context, CancellationToken cancellationToken) { return _configOnly ? _configCheck.CheckConfigurationAsync(cancellationToken) : _serviceCheck.CheckHealthAsync(cancellationToken); } }