use super::logging_expectation_contracts::ExpectedLoggingTable;
pub(super) const EXPECTED_BACKUP_JOBS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "backup_jobs",
relation_type: "BASE TABLE",
required: true,
purpose: "Queue and execution history for durable backup and restore jobs",
required_columns: &[
"job_type",
"client_name",
"status",
"s3_bucket",
"s3_key",
"execution_daemon_id",
"lease_expires_at",
"completed_at",
],
};
pub(super) const EXPECTED_BACKUP_JOB_LOGS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "backup_job_logs",
relation_type: "BASE TABLE",
required: true,
purpose: "Execution log lines for backup and restore jobs",
required_columns: &["job_id", "level", "message", "created_at"],
};
pub(super) const EXPECTED_BACKUP_SCHEDULES: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "backup_schedules",
relation_type: "BASE TABLE",
required: true,
purpose: "Persisted backup schedules and daemon pinning",
required_columns: &[
"client_name",
"frequency",
"cron_expression",
"execution_daemon_id",
"enabled",
"next_run_at",
],
};
pub(super) const EXPECTED_DATABASE_CLONE_JOBS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "database_clone_jobs",
relation_type: "BASE TABLE",
required: true,
purpose: "Clone control-plane queue and daemon lease ownership",
required_columns: &[
"job_id",
"status",
"phase",
"execution_daemon_id",
"lease_expires_at",
"created_at",
],
};
pub(super) const EXPECTED_DATABASE_CLONE_JOB_EVENTS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "database_clone_job_events",
relation_type: "BASE TABLE",
required: true,
purpose: "Clone control-plane event log for daemon execution tracing",
required_columns: &[
"event_id",
"job_id",
"daemon_id",
"kind",
"message",
"created_at",
],
};
pub(super) const EXPECTED_DAEMON_RUNTIME_REGISTRY: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "daemon_runtime_registry",
relation_type: "BASE TABLE",
required: true,
purpose: "Durable daemon presence registry for Studio operations",
required_columns: &[
"daemon_id",
"runtime_kind",
"host",
"version",
"workers_json",
"metadata_json",
"started_at",
"last_seen_at",
],
};
pub(super) const EXPECTED_TYPESENSE_SYNC_JOBS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "typesense_sync_jobs",
relation_type: "BASE TABLE",
required: true,
purpose: "Typesense sync job definitions and daemon affinity",
required_columns: &[
"name",
"enabled",
"auto_sync_enabled",
"execution_daemon_id",
"next_sync_at",
"last_sync_status",
],
};
pub(super) const EXPECTED_TYPESENSE_SYNC_RUNS: ExpectedLoggingTable = ExpectedLoggingTable {
table_schema: "public",
table_name: "typesense_sync_runs",
relation_type: "BASE TABLE",
required: true,
purpose: "Typesense sync runtime history and active runs",
required_columns: &[
"job_id",
"status",
"started_at",
"progress_pct",
"progress_stage",
],
};