athena_rs 3.26.1

Hyper performant polyglot Database driver
Documentation
//! Final debug-summary payload assembly for `/debug/schema`.
//!
//! This module owns constructing `LoggingSchemaDebugSummary` from computed
//! summary metrics and a composed health assessment.

use super::debug_health_assessment_contracts::LoggingSchemaDebugHealthAssessment;
use super::debug_summary_contracts::LoggingSchemaDebugSummary;
use super::debug_summary_metrics::LoggingSchemaDebugSummaryMetrics;

/// Builds one aggregate summary payload from metrics and health assessment.
pub(super) fn build_logging_schema_debug_summary_output(
    expected_table_count: usize,
    metrics: LoggingSchemaDebugSummaryMetrics,
    assessment: LoggingSchemaDebugHealthAssessment,
) -> LoggingSchemaDebugSummary {
    LoggingSchemaDebugSummary {
        health: assessment.health,
        health_reasons: assessment.health_reasons,
        expected_table_count,
        found_table_count: metrics.found_table_count,
        required_missing_table_count: metrics.required_missing_table_count,
        optional_missing_table_count: metrics.optional_missing_table_count,
        required_missing_column_count: metrics.required_missing_column_count,
        optional_missing_column_count: metrics.optional_missing_column_count,
        relation_type_mismatch_count: metrics.relation_type_mismatch_count,
    }
}