fej/src/ivago/mod.rs

31 lines
785 B
Rust

mod controller;
use controller::structs::{BasicDate, PickupTime, Street};
use controller::{get_pickup_times, search_streets};
use rocket::http::Status;
use rocket_contrib::json::Json;
pub fn routes() -> Vec<rocket::Route> {
routes![route_search_streets, route_get_pickup_times]
}
#[get("/search?<street>")]
pub fn route_search_streets(street: String) -> Result<Json<Vec<Street>>, Status> {
Ok(Json(search_streets(street.as_str())?))
}
#[get("/?<street>&<number>&<start_date>&<end_date>")]
pub fn route_get_pickup_times(
street: Street,
number: u32,
start_date: BasicDate,
end_date: BasicDate,
) -> Result<Json<Vec<PickupTime>>, Status> {
Ok(Json(get_pickup_times(
&street,
&number,
&start_date.0,
&end_date.0,
)?))
}