solawis-vpzuordnung/src/requests.rs
2023-01-05 10:42:14 +01:00

47 lines
1.3 KiB
Rust

use std::collections::HashMap;
use gloo_net::http::Request;
use crate::zuordnung::{NetworkObjekte, ZuordnungMessage};
/// A helper function that sends a request to the specified URL and returns a ZuordnungMessage with the
/// given network object and the response.
async fn fetch_data(url: &str, network_object: NetworkObjekte) -> ZuordnungMessage {
// Send the request to the specified URL.
let response = Request::new(url).send().await;
// Return the ZuordnungMessage with the given network object and the response.
ZuordnungMessage::Recieved(network_object, response)
}
pub async fn fetch_verteilpunkte() -> ZuordnungMessage {
fetch_data(
"/orga/api/verteilpunkte/",
NetworkObjekte::Verteilpunkt(HashMap::new()),
)
.await
}
pub async fn fetch_wünsche(jahr: u32) -> ZuordnungMessage {
fetch_data(
&format!("/orga/api/wuensche/{}/", jahr),
NetworkObjekte::Wunsch(None),
)
.await
}
pub async fn fetch_user(jahr: u32) -> ZuordnungMessage {
fetch_data(
&format!("/orga/api/benutzer/{}/", jahr),
NetworkObjekte::User(None),
)
.await
}
pub async fn fetch_zuordnung(jahr: u32) -> ZuordnungMessage {
fetch_data(
&format!("/orga/api/zuordnung_jahr/{}/", jahr),
NetworkObjekte::ZuordnungVorjahr(None),
)
.await
}