Fix issue with repeated items in child list.

This commit is contained in:
Herbert Wolverson 2023-08-07 15:58:58 +00:00
parent bd2ec5a9e1
commit 8dab5dfa57
3 changed files with 6 additions and 2 deletions

1
src/rust/Cargo.lock generated
View File

@ -2711,6 +2711,7 @@ dependencies = [
"env_logger",
"futures",
"influxdb2",
"itertools 0.11.0",
"log",
"lqos_bus",
"lqos_utils",

View File

@ -15,4 +15,5 @@ uuid = { version = "1", features = ["v4", "fast-rng" ] }
influxdb2 = "0"
sha2 = "0"
dashmap = "5"
lqos_utils = { path = "../../lqos_utils" }
lqos_utils = { path = "../../lqos_utils" }
itertools = "0.11.0"

View File

@ -1,5 +1,6 @@
use crate::license::StatsHostError;
use sqlx::{FromRow, Pool, Postgres, Row};
use itertools::Itertools;
#[derive(Debug, FromRow)]
pub struct TreeNode {
@ -123,7 +124,7 @@ pub async fn get_child_list(
// Add child sites
let child_sites = sqlx::query(
"SELECT site_name, parent, site_type FROM site_tree WHERE key=$1 AND parent=$2",
"SELECT DISTINCT site_name, parent, site_type FROM site_tree WHERE key=$1 AND parent=$2",
)
.bind(key)
.bind(site_id)
@ -162,6 +163,7 @@ pub async fn get_child_list(
}
result.sort_by(|a, b| a.2.cmp(&b.2));
let result = result.into_iter().dedup_by(|a,b| a.2 == b.2).collect();
Ok(result)
}