diff --git a/mobile_config/src/gateway_info.rs b/mobile_config/src/gateway_info.rs index 430ea49b8..0a758fae7 100644 --- a/mobile_config/src/gateway_info.rs +++ b/mobile_config/src/gateway_info.rs @@ -382,7 +382,7 @@ pub(crate) mod db { pub async fn get_updated_radios( db: impl PgExecutor<'_>, min_updated_at: DateTime, - ) -> anyhow::Result> { + ) -> anyhow::Result> { let rows: Vec> = sqlx::query_scalar(GET_UPDATED_RADIOS) .bind(min_updated_at) .fetch_all(db) @@ -392,7 +392,8 @@ pub(crate) mod db { for row in rows { let entity_key_b: &[u8] = &row; let entity_key = bs58::encode(entity_key_b).into_string(); - radios.insert(entity_key); + let pk = PublicKeyBinary::from_str(&entity_key)?; + radios.insert(pk); } Ok(radios) diff --git a/mobile_config/src/gateway_service.rs b/mobile_config/src/gateway_service.rs index a5329265a..b269c2c08 100644 --- a/mobile_config/src/gateway_service.rs +++ b/mobile_config/src/gateway_service.rs @@ -214,7 +214,6 @@ impl mobile_config::Gateway for GatewayService { tokio::spawn(async move { let stream = gateway_info::db::all_info_stream(&pool, &device_types); if request.min_updated_at > 0 { - // It needs filtering only updated radios let min_updated_at = Utc .timestamp_opt(request.min_updated_at as i64, 0) .single() @@ -224,7 +223,7 @@ impl mobile_config::Gateway for GatewayService { let updated_redios = get_updated_radios(&mc_pool, min_updated_at).await?; let stream = stream - .filter(|v| future::ready(updated_redios.contains(&v.address.to_string()))) + .filter(|v| future::ready(updated_redios.contains(&v.address))) .boxed(); stream_multi_gateways_info(stream, tx.clone(), signing_key.clone(), batch_size) .await diff --git a/mobile_config/tests/gateway_service.rs b/mobile_config/tests/gateway_service.rs index 8b34fc55a..cc8d2ce4a 100644 --- a/mobile_config/tests/gateway_service.rs +++ b/mobile_config/tests/gateway_service.rs @@ -33,7 +33,6 @@ async fn gateway_info_authorization_errors(pool: PgPool) -> anyhow::Result<()> { // Start the gateway server let keys = CacheKeys::from_iter([(admin_key.public_key().to_owned(), KeyRole::Administrator)]); let (_key_cache_tx, key_cache) = KeyCache::new(keys); - // TODO let gws = GatewayService::new(key_cache, pool.clone(), server_key, pool.clone()); let _handle = tokio::spawn( transport::Server::builder() @@ -99,7 +98,6 @@ async fn spawn_gateway_service( // Start the gateway server let keys = CacheKeys::from_iter([(admin_pub_key.to_owned(), KeyRole::Administrator)]); let (_key_cache_tx, key_cache) = KeyCache::new(keys); - // TODO let gws = GatewayService::new(key_cache, pool.clone(), server_key, pool.clone()); let handle = tokio::spawn( transport::Server::builder()