28 lines
896 B
C#
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);
|
|
}
|
|
}
|