From 0b99e9e95fbbe6a924e02314aaae06e14eceff36 Mon Sep 17 00:00:00 2001 From: Celeo Date: Fri, 13 Dec 2024 15:08:04 -0800 Subject: [PATCH] Move cache keys to `String` to allow dynamic Update vatsim_utils dep --- Cargo.lock | 4 ++-- vzdv-bot/Cargo.toml | 2 +- vzdv-site/Cargo.toml | 2 +- vzdv-site/src/endpoints/admin.rs | 2 +- vzdv-site/src/endpoints/airspace.rs | 6 +++--- vzdv-site/src/endpoints/api.rs | 2 +- vzdv-site/src/endpoints/homepage.rs | 8 ++++---- vzdv-site/src/shared.rs | 2 +- vzdv-tasks/Cargo.toml | 2 +- vzdv/Cargo.toml | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f790bfe..1d69ff1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3915,9 +3915,9 @@ dependencies = [ [[package]] name = "vatsim_utils" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284aca9cd266d654eaf8603d06c3f557e8474850818b458a51961338c2cb2e78" +checksum = "8035d69a3e9b13f225c3452b0c8c247dcdc29258c7123d961bfd4be252678628" dependencies = [ "http 0.2.12", "log", diff --git a/vzdv-bot/Cargo.toml b/vzdv-bot/Cargo.toml index 4cfd66c..b3c6a03 100644 --- a/vzdv-bot/Cargo.toml +++ b/vzdv-bot/Cargo.toml @@ -21,4 +21,4 @@ twilight-http = "0.15.4" twilight-interactions = "0.15.2" twilight-model = "0.15.4" twilight-util = { version = "0.15.4", features = ["builder"] } -vatsim_utils = "0.5.2" +vatsim_utils = "0.5.3" diff --git a/vzdv-site/Cargo.toml b/vzdv-site/Cargo.toml index b2fd790..407fa0f 100644 --- a/vzdv-site/Cargo.toml +++ b/vzdv-site/Cargo.toml @@ -43,7 +43,7 @@ tower-http = { version = "0.5.2", features = ["fs", "timeout"] } tower-sessions = "0.12.0" tower-sessions-sqlx-store = { version = "0.13.0", features = ["sqlite"] } uuid = { version = "1.10.0", features = ["v4", "fast-rng"] } -vatsim_utils = "0.5.2" +vatsim_utils = "0.5.3" regex = "1.11.0" [build-dependencies] diff --git a/vzdv-site/src/endpoints/admin.rs b/vzdv-site/src/endpoints/admin.rs index 0ac2311..6fa5679 100644 --- a/vzdv-site/src/endpoints/admin.rs +++ b/vzdv-site/src/endpoints/admin.rs @@ -861,7 +861,7 @@ async fn page_activity_report_generate( let user_info = user_info.unwrap(); // cache this endpoint's returned data for 6 hours - let cache_key = "ACTIVITY_REPORT"; + let cache_key = "ACTIVITY_REPORT".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 60 * 60 * 6 { diff --git a/vzdv-site/src/endpoints/airspace.rs b/vzdv-site/src/endpoints/airspace.rs index d54e5bb..de6bbb9 100644 --- a/vzdv-site/src/endpoints/airspace.rs +++ b/vzdv-site/src/endpoints/airspace.rs @@ -55,7 +55,7 @@ async fn page_flights( session: Session, ) -> Result, AppError> { // cache this endpoint's returned data for 15 seconds - let cache_key = "ONLINE_FLIGHTS_FULL"; + let cache_key = "ONLINE_FLIGHTS_FULL".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 15 { @@ -95,7 +95,7 @@ async fn page_weather( session: Session, ) -> Result, AppError> { // cache this endpoint's returned data for 5 minutes - let cache_key = "WEATHER_FULL"; + let cache_key = "WEATHER_FULL".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 300 { @@ -305,7 +305,7 @@ async fn page_pilot_glance_data( }; // cache this endpoint's returned data for 1 minute - let cache_key = "PILOT_GLANCE"; + let cache_key = format!("PILOT_GLANCE-{airport}"); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 60 { diff --git a/vzdv-site/src/endpoints/api.rs b/vzdv-site/src/endpoints/api.rs index aff5763..69f0847 100644 --- a/vzdv-site/src/endpoints/api.rs +++ b/vzdv-site/src/endpoints/api.rs @@ -11,7 +11,7 @@ async fn api_page_flights( State(state): State>, ) -> Result, AppError> { // cache this endpoint's returned data for 15 seconds - let cache_key = "ONLINE_FLIGHTS"; + let cache_key = "ONLINE_FLIGHTS".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 15 { diff --git a/vzdv-site/src/endpoints/homepage.rs b/vzdv-site/src/endpoints/homepage.rs index e609ffb..8ac3658 100644 --- a/vzdv-site/src/endpoints/homepage.rs +++ b/vzdv-site/src/endpoints/homepage.rs @@ -46,7 +46,7 @@ async fn snippet_online_controllers( State(state): State>, ) -> Result, AppError> { // cache this endpoint's returned data for 30 seconds - let cache_key = "ONLINE_CONTROLLERS"; + let cache_key = "ONLINE_CONTROLLERS".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 30 { @@ -70,7 +70,7 @@ async fn snippet_online_controllers( async fn snippet_weather(State(state): State>) -> Result, AppError> { // cache this endpoint's returned data for 5 minutes - let cache_key = "WEATHER_BRIEF"; + let cache_key = "WEATHER_BRIEF".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 300 { @@ -117,7 +117,7 @@ async fn snippet_weather(State(state): State>) -> Result>) -> Result, AppError> { // cache this endpoint's returned data for 15 seconds - let cache_key = "ONLINE_FLIGHTS_HOMEPAGE"; + let cache_key = "ONLINE_FLIGHTS_HOMEPAGE".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 15 { @@ -145,7 +145,7 @@ async fn snippet_flights(State(state): State>) -> Result>) -> Result, AppError> { // cache this endpoint's returned data for 1 minute - let cache_key = "COTM"; + let cache_key = "COTM".to_string(); if let Some(cached) = state.cache.get(&cache_key) { let elapsed = Instant::now() - cached.inserted; if elapsed.as_secs() < 60 { diff --git a/vzdv-site/src/shared.rs b/vzdv-site/src/shared.rs index 091d0d1..69e25c7 100644 --- a/vzdv-site/src/shared.rs +++ b/vzdv-site/src/shared.rs @@ -173,7 +173,7 @@ pub struct AppState { /// Loaded templates pub templates: Environment<'static>, /// Server-side cache for heavier-compute rendered templates - pub cache: Cache<&'static str, CacheEntry>, + pub cache: Cache, } /// Key for user info CRUD in session. diff --git a/vzdv-tasks/Cargo.toml b/vzdv-tasks/Cargo.toml index 48cb148..259cc22 100644 --- a/vzdv-tasks/Cargo.toml +++ b/vzdv-tasks/Cargo.toml @@ -20,4 +20,4 @@ clap = { version = "4.5.1", features = ["derive"] } log = "0.4.20" sqlx = { version = "0.8.1", default-features = false, features = ["runtime-tokio", "sqlx-sqlite", "chrono"] } tokio = { version = "1.36.0", features = ["full"] } -vatsim_utils = "0.5.2" +vatsim_utils = "0.5.3" diff --git a/vzdv/Cargo.toml b/vzdv/Cargo.toml index 108f53e..d0a58bb 100644 --- a/vzdv/Cargo.toml +++ b/vzdv/Cargo.toml @@ -27,6 +27,6 @@ tower = "0.4.13" tower-http = { version = "0.5.2", features = ["fs", "timeout"] } tower-sessions = "0.12.0" tower-sessions-sqlx-store = { version = "0.13.0", features = ["sqlite"] } -vatsim_utils = "0.5.2" +vatsim_utils = "0.5.3" fern = { version = "0.6.2", features = ["colored"] } humantime = "2.1.0"