diff --git a/.gitignore b/.gitignore index b25b365..2ea973a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /target *~ -scores.json \ No newline at end of file +teams.json \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 7d92138..c0b7e8d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,7 @@ FROM debian:bookworm-slim RUN apt-get update && apt-get install -y libssl3 ca-certificates && apt-get clean COPY --from=builder /usr/src/app/Neighborhood_Map_Atlas_Neighborhoods.geojson / COPY --from=builder /usr/src/app/map.html / +COPY --from=builder /usr/src/app/teams.json / COPY --from=builder /usr/src/app/target/release/mapbattle /usr/local/bin/mapbattle EXPOSE 8080 CMD ["mapbattle"] \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 1cbc234..252ece8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,8 +9,7 @@ use chrono::NaiveDateTime; use reqwest::Client; use xml::reader::EventReader; use actix_web::{get, App, HttpResponse, HttpServer, Responder}; -use crate::data::{Team, Player, TeamLegend}; -use std::collections::HashMap; +use crate::data::{Team, TeamLegend}; use std::fs::File; use std::io::BufWriter; use std::io::Write; @@ -22,7 +21,7 @@ const DATE_FORMAT: &str = "%Y-%m-%dT%H:%M:%SZ"; #[get("/legend-data")] async fn legend_data() -> impl Responder { - let teams = read_scores(); + let teams = read_teams(); let legends: Vec = teams.into_iter() .map(|t| TeamLegend{name: t.name, color: t.color}).collect(); HttpResponse::Ok() @@ -33,7 +32,7 @@ async fn legend_data() -> impl Responder { #[get("/geojson")] async fn geojson_endpoint() -> impl Responder { let utils = geo_utils::GeoUtils::new(); - let teams = read_scores(); + let teams = read_teams(); let feature_collection = utils.get_colored_collection_copy(teams); HttpResponse::Ok() .content_type("application/json") @@ -73,20 +72,7 @@ async fn update_scores()-> Result<(), Box> { .user_agent("MapBattle/0.1") .build()?; - // Load players from a database? - let mut teams: Vec = vec![ - Team{ - name: String::from("potato"), - color: String::from("#df1aeaff"), - scores: HashMap::new(), - players: vec![ - Player { - username: String::from("ammaratef45") - } - ] - } - ]; - + let mut teams = read_teams(); // Configure time range let start_date = NaiveDateTime::parse_from_str("2025-11-13T11:55:07Z", DATE_FORMAT)?; let end_date = NaiveDateTime::parse_from_str("2025-11-13T15:55:07Z", DATE_FORMAT)?; @@ -103,7 +89,7 @@ async fn update_scores()-> Result<(), Box> { } } - let file = File::create("scores.json")?; + let file = File::create("teams.json")?; let mut writer = BufWriter::new(file); serde_json::to_writer_pretty(&mut writer, &teams)?; writer.flush()?; @@ -111,7 +97,7 @@ async fn update_scores()-> Result<(), Box> { Ok(()) } -fn read_scores() -> Vec { - let text: String = fs::read_to_string("scores.json").expect("file should be present"); +fn read_teams() -> Vec { + let text: String = fs::read_to_string("teams.json").expect("file should be present"); serde_json::from_str(&text).unwrap() }