diff --git a/src/rust/long_term_stats/lts_node/src/web/wss/mod.rs b/src/rust/long_term_stats/lts_node/src/web/wss/mod.rs index 98a9fa1a..0726e6f9 100644 --- a/src/rust/long_term_stats/lts_node/src/web/wss/mod.rs +++ b/src/rust/long_term_stats/lts_node/src/web/wss/mod.rs @@ -314,6 +314,12 @@ async fn handle_socket(mut socket: WebSocket, cnn: Pool) { InfluxTimePeriod::new(period), ) .await; + } + (WasmRequest::ApSignalExt { period, site_name }, Some(credentials)) => { + + } + (WasmRequest::ApCapacityExt { period, site_name }, Some(credentials)) => { + } (_, None) => { tracing::error!("No credentials"); diff --git a/src/rust/long_term_stats/lts_node/src/web/wss/queries/ext_device.rs b/src/rust/long_term_stats/lts_node/src/web/wss/queries/ext_device.rs index 28d2a591..1dd16f80 100644 --- a/src/rust/long_term_stats/lts_node/src/web/wss/queries/ext_device.rs +++ b/src/rust/long_term_stats/lts_node/src/web/wss/queries/ext_device.rs @@ -3,9 +3,7 @@ use axum::extract::ws::WebSocket; use chrono::{DateTime, FixedOffset}; use influxdb2::{FromDataPoint, models::Query, Client}; use pgdb::{sqlx::{Pool, Postgres}, organization_cache::get_org_details}; - use crate::web::wss::send_response; - use super::time_period::InfluxTimePeriod; pub async fn send_extended_device_info( @@ -108,6 +106,21 @@ pub async fn send_extended_device_snr_graph( Ok(()) } +pub async fn send_ap_snr( + cnn: &Pool, + socket: &mut WebSocket, + key: &str, + site_name: &str, + period: InfluxTimePeriod, + +) -> anyhow::Result<()> { + // Get list of child devices + let hosts = pgdb::get_host_list_for_site(cnn, key, site_name).await?; + let host_filter = pgdb::device_list_to_influx_filter(&hosts); + + Ok(()) +} + #[derive(Debug, FromDataPoint, Default)] pub struct SnrRow { pub device_id: String, diff --git a/src/rust/long_term_stats/pgdb/src/circuit.rs b/src/rust/long_term_stats/pgdb/src/circuit.rs index 44e01a7a..d5383124 100644 --- a/src/rust/long_term_stats/pgdb/src/circuit.rs +++ b/src/rust/long_term_stats/pgdb/src/circuit.rs @@ -125,4 +125,8 @@ pub fn circuit_list_to_influx_filter(hosts: &[(String, String)]) -> String { pub fn host_list_to_influx_filter(hosts: &[(String, String)]) -> String { hosts.iter().map(|(id, _name)| format!("r[\"host_id\"] == \"{id}\"", id=id)).join(" or ") +} + +pub fn device_list_to_influx_filter(hosts: &[(String, String)]) -> String { + hosts.iter().map(|(id, _name)| format!("r[\"device_id\"] == \"{id}\"", id=id)).join(" or ") } \ No newline at end of file diff --git a/src/rust/long_term_stats/site_build/src/site/site.ts b/src/rust/long_term_stats/site_build/src/site/site.ts index f1601d20..ef19bc21 100644 --- a/src/rust/long_term_stats/site_build/src/site/site.ts +++ b/src/rust/long_term_stats/site_build/src/site/site.ts @@ -25,7 +25,7 @@ export class SitePage implements Page { new SiteInfo(siteId), new SiteBreadcrumbs(siteId), new ThroughputSiteChart(siteId), - new RttChartSite(siteId), + new RttChartSite(siteId, 1.0), new SiteHeat(siteId), new SiteStackChart(siteId), ]; diff --git a/src/rust/long_term_stats/wasm_pipe/src/lib.rs b/src/rust/long_term_stats/wasm_pipe/src/lib.rs index a29ee103..09e8a983 100644 --- a/src/rust/long_term_stats/wasm_pipe/src/lib.rs +++ b/src/rust/long_term_stats/wasm_pipe/src/lib.rs @@ -172,4 +172,14 @@ pub fn request_ext_snr_graph(period: String, device_id: String) { #[wasm_bindgen] pub fn request_ext_capacity_graph(period: String, device_id: String) { send_message(WasmRequest::DeviceCapacityChartExt { period, device_id }); +} + +#[wasm_bindgen] +pub fn request_ext_capacity_ap(period: String, site_name: String) { + send_message(WasmRequest::ApCapacityExt { period, site_name }); +} + +#[wasm_bindgen] +pub fn request_ext_signal_ap(period: String, site_name: String) { + send_message(WasmRequest::ApSignalExt { period, site_name }); } \ No newline at end of file diff --git a/src/rust/long_term_stats/wasm_pipe_types/src/lib.rs b/src/rust/long_term_stats/wasm_pipe_types/src/lib.rs index c3238be5..22857c64 100644 --- a/src/rust/long_term_stats/wasm_pipe_types/src/lib.rs +++ b/src/rust/long_term_stats/wasm_pipe_types/src/lib.rs @@ -32,6 +32,8 @@ pub enum WasmRequest { ExtendedDeviceInfo { circuit_id: String }, SignalNoiseChartExt { period: String, device_id: String }, DeviceCapacityChartExt { period: String, device_id: String }, + ApSignalExt { period: String, site_name: String }, + ApCapacityExt { period: String, site_name: String }, } #[derive(Serialize, Deserialize, Debug)]