From b5536659a612acebb1847af4101963833002cd30 Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Sun, 17 Dec 2023 23:32:02 +0200 Subject: [PATCH] arrivals module --- src/arrivals.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/arrivals.rs diff --git a/src/arrivals.rs b/src/arrivals.rs new file mode 100644 index 0000000..60870cf --- /dev/null +++ b/src/arrivals.rs @@ -0,0 +1,29 @@ +use actix_web::{get, web, HttpResponse, Responder}; + +pub fn init_arrivals_scope() -> actix_web::Scope { + let scope = web::scope("/arrivals").service(show_arrivals); + scope +} +use chrono::NaiveDateTime; +use serde::{Deserialize, Serialize}; +#[derive(Serialize, Deserialize)] +pub struct Arrival { + a_id: u32, + time_of_day: NaiveDateTime, + week_day: u32, + tram_line: u32, + direction: bool, +} +use web::Data; +use sqlx::{PgPool, query_as}; +#[get("arrivals")] +async fn show_arrivals(db_pool: Data) -> impl Responder { + let arrivals = query_as!(Arrival, r#"SELECT * FROM arrivals"#) + .fetch_all(db_pool) + .await + .expect("Could not fetch arrivals"); + HttpResponse::Ok() + .content_type("application/json") + .json(arrivals); + todo!() +}