inventorylib/store/
building_store.rs1use common::store::{get};
2use uuid::Uuid;
3use crate::dto::building_response::BuildingResponse;
4use crate::dto::building_with_floors_response::BuildingWithFloorsResponse;
5
6const DOMAIN: &str = "inventory";
7const CLUSTER: &str = "devapi.webschool.au";
8const SUFFIX: &str = "";
9
10pub struct BuildingStore {}
11
12impl BuildingStore {
13 pub async fn build_ws_link(project: impl Into<String>, url: impl Into<String>) -> String {
14 format!("{}://{}{}{}{}", "https", project.into(), SUFFIX, CLUSTER, url.into())
15 }
16 pub async fn get_by_id(id: Uuid) -> Result<BuildingResponse, String> {
17 get::<BuildingResponse>(Self::build_ws_link(DOMAIN, format!("/building/{}", id)).await).await
18 }
19
20 pub async fn get_with_floors_by_id(building_id: Uuid) -> Result<BuildingWithFloorsResponse, String> {
21 get::<BuildingWithFloorsResponse>(Self::build_ws_link(DOMAIN, format!("/building/findWithFloors/{}", building_id)).await).await
22 }
23}