namespace StellaOps.Feedser.WebService.Diagnostics;

internal sealed record StorageBootstrapHealth(
    string Driver,
    bool Completed,
    DateTimeOffset? CompletedAt,
    double? DurationMs);

internal sealed record TelemetryHealth(
    bool Enabled,
    bool Tracing,
    bool Metrics,
    bool Logging);

internal sealed record HealthDocument(
    string Status,
    DateTimeOffset StartedAt,
    double UptimeSeconds,
    StorageBootstrapHealth Storage,
    TelemetryHealth Telemetry);

internal sealed record MongoReadyHealth(
    string Status,
    double? LatencyMs,
    DateTimeOffset? CheckedAt,
    string? Error);

internal sealed record ReadyDocument(
    string Status,
    DateTimeOffset StartedAt,
    double UptimeSeconds,
    MongoReadyHealth Mongo);
