thalos-dal/src/Thalos.DAL/Health/DalDependencyHealthCheck.cs
2026-02-22 17:14:05 -06:00

28 lines
896 B
C#

using Core.Blueprint.Common.Runtime;
using Thalos.DAL.Contracts;
namespace Thalos.DAL.Health;
/// <summary>
/// Default DAL dependency health check implementation.
/// </summary>
public sealed class DalDependencyHealthCheck(IBlueprintSystemClock clock) : IDalDependencyHealthCheck
{
/// <inheritdoc />
public Task<DalDependencyHealthStatus> CheckAsync(CancellationToken cancellationToken = default)
{
var envelope = new IdentityContractEnvelope("1.0.0", $"corr-{clock.UtcNow:yyyyMMddHHmmssfff}");
IReadOnlyList<string> dependencyNames =
[
"IUserDataProvider",
"IRoleDataProvider",
"IPermissionDataProvider",
"IModuleDataProvider",
"ITenantDataProvider"
];
var status = new DalDependencyHealthStatus(envelope, true, dependencyNames);
return Task.FromResult(status);
}
}