feature: Ward Gateway Service (Local-First Clinical Path)

This commit is contained in:
voltsrage
2026-06-23 16:45:38 +08:00
parent d8e142fffe
commit 1bf8359097
100 changed files with 5474 additions and 4 deletions
@@ -0,0 +1,24 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Diagnostics.HealthChecks;
public sealed class EncounterReplicaReadyCheck : IHealthCheck
{
private readonly GatewayDbContext _db;
public EncounterReplicaReadyCheck(GatewayDbContext db) => _db = db;
public async Task<HealthCheckResult> CheckHealthAsync(
HealthCheckContext context, CancellationToken ct = default)
{
var encounterCount = await _db.Encounters.CountAsync(ct);
if (encounterCount > 0)
return HealthCheckResult.Healthy("Replica data available.");
var state = await _db.SyncState.FirstOrDefaultAsync(ct);
if (state?.InitialSyncCompleted == true)
return HealthCheckResult.Healthy("Initial sync completed.");
return HealthCheckResult.Unhealthy(
"No encounter replica data — first boot requires central sync.");
}
}