85b362e8cd
- add the standalone HrynCo.Common solution and projects - include the shared common library source and tests - add package metadata and a repo gitignore
22 lines
683 B
C#
22 lines
683 B
C#
namespace HrynCo.Common.HealthChecks.Defaults;
|
|
|
|
using HrynCo.Common.HealthChecks.Interfaces;
|
|
using Microsoft.Extensions.Diagnostics.HealthChecks;
|
|
|
|
public sealed class DbServiceHealthCheck : IServiceHealthCheck
|
|
{
|
|
private readonly IDatabaseConnectionChecker _checker;
|
|
|
|
public DbServiceHealthCheck(IDatabaseConnectionChecker checker)
|
|
{
|
|
_checker = checker;
|
|
}
|
|
|
|
public async Task<HealthCheckResult> CheckHealthAsync(CancellationToken cancellationToken)
|
|
{
|
|
return await _checker.CanConnectAsync(cancellationToken)
|
|
? HealthCheckResult.Healthy("Database reachable")
|
|
: HealthCheckResult.Unhealthy("Database unreachable");
|
|
}
|
|
}
|