settings: add mic_unit_pref for event-report chart
New UserPreferences field controls the mic channel's unit on the SFM event-detail modal's waveform chart only. "dBL" default, "psi" alternate. Peaks everywhere else (tables, KPI tiles, modal summary) stay in dBL regardless — this is strictly a chart-axis preference. Surfaced as a single dropdown on Settings → General, below the auto-refresh interval. Setting up the storage half ahead of the chart port in the next commit, so the chart can read the value from /api/settings/preferences on first render instead of needing a follow-up wiring pass. Includes idempotent backend/migrate_add_mic_unit_pref.py for fleets already on an older schema. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -267,6 +267,7 @@ class PreferencesUpdate(BaseModel):
|
||||
calibration_warning_days: Optional[int] = None
|
||||
status_ok_threshold_hours: Optional[int] = None
|
||||
status_pending_threshold_hours: Optional[int] = None
|
||||
mic_unit_pref: Optional[str] = None
|
||||
|
||||
|
||||
@router.get("/preferences")
|
||||
@@ -293,6 +294,7 @@ def get_preferences(db: Session = Depends(get_db)):
|
||||
"calibration_warning_days": prefs.calibration_warning_days,
|
||||
"status_ok_threshold_hours": prefs.status_ok_threshold_hours,
|
||||
"status_pending_threshold_hours": prefs.status_pending_threshold_hours,
|
||||
"mic_unit_pref": prefs.mic_unit_pref or "dBL",
|
||||
"updated_at": prefs.updated_at.isoformat() if prefs.updated_at else None
|
||||
}
|
||||
|
||||
@@ -334,6 +336,7 @@ def update_preferences(
|
||||
"calibration_warning_days": prefs.calibration_warning_days,
|
||||
"status_ok_threshold_hours": prefs.status_ok_threshold_hours,
|
||||
"status_pending_threshold_hours": prefs.status_pending_threshold_hours,
|
||||
"mic_unit_pref": prefs.mic_unit_pref or "dBL",
|
||||
"updated_at": prefs.updated_at.isoformat() if prefs.updated_at else None
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user