use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde_json::Value; use strum_macros::EnumDiscriminants; use strum_macros::EnumIter; #[derive(Debug, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] #[allow(dead_code)] pub enum SettingsTelemetryEvent { EnvironmentsPageOpened, } impl TelemetryEvent for SettingsTelemetryEvent { fn name(&self) -> &'static str { SettingsTelemetryEventDiscriminants::from(self).name() } fn payload(&self) -> Option { None } fn description(&self) -> &'static str { SettingsTelemetryEventDiscriminants::from(self).description() } fn enablement_state(&self) -> EnablementState { SettingsTelemetryEventDiscriminants::from(self).enablement_state() } fn contains_ugc(&self) -> bool { match self { SettingsTelemetryEvent::EnvironmentsPageOpened => false, } } fn event_descs() -> impl Iterator> { galaxy_core::telemetry::enum_events::() } } impl TelemetryEventDesc for SettingsTelemetryEventDiscriminants { fn name(&self) -> &'static str { match self { SettingsTelemetryEventDiscriminants::EnvironmentsPageOpened => { "Settings.Environments.PageOpened" } } } fn description(&self) -> &'static str { match self { SettingsTelemetryEventDiscriminants::EnvironmentsPageOpened => { "User opened the Environments settings page" } } } fn enablement_state(&self) -> EnablementState { match self { SettingsTelemetryEventDiscriminants::EnvironmentsPageOpened => EnablementState::Always, } } } galaxy_core::register_telemetry_event!(SettingsTelemetryEvent);