Added LDAP health checks

This commit is contained in:
2025-10-03 17:24:51 +02:00
parent 342cfbf1ca
commit 999748913b
2 changed files with 37 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
using Berufsschule_HAM.Services;
using Microsoft.Extensions.Diagnostics.HealthChecks;
namespace Berufsschule_HAM.HealthChecks;
public class DatabaseHealthCheck : IHealthCheck
{
private readonly ILogger<DatabaseHealthCheck> _logger;
private readonly LdapService _ldapService;
public DatabaseHealthCheck(ILogger<DatabaseHealthCheck> logger, LdapService ldapService)
{
_logger = logger;
_ldapService = ldapService;
}
public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
{
_logger.LogTrace("CheckHealthAsync - Checking health");
try
{
await _ldapService.ListUsersAsync();
}
catch (Exception ex)
{
_logger.LogError(ex, "CheckHealthAsync - Unable to list users due to exception {ex.Message} - {ex.StackTrace}", [ex.Message, ex.StackTrace]);
return HealthCheckResult.Unhealthy();
}
_logger.LogTrace("CheckHealthAsync - Health check successful");
return HealthCheckResult.Healthy();
}
}