arrivals module

This commit is contained in:
LinlyBoi
2023-12-17 23:32:02 +02:00
parent bbe15241d3
commit b5536659a6

29
src/arrivals.rs Normal file
View File

@@ -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<PgPool>) -> 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!()
}