inventorylib/store/
building_store.rsuse common::store::{get};
use uuid::Uuid;
use crate::dto::building_response::BuildingResponse;
use crate::dto::building_with_floors_response::BuildingWithFloorsResponse;
const DOMAIN: &str = "inventory";
const CLUSTER: &str = "devapi.webschool.au";
const SUFFIX: &str = "";
pub struct BuildingStore {}
impl BuildingStore {
pub async fn build_ws_link(project: impl Into<String>, url: impl Into<String>) -> String {
format!("{}://{}{}{}{}", "https", project.into(), SUFFIX, CLUSTER, url.into())
}
pub async fn get_by_id(id: Uuid) -> Result<BuildingResponse, String> {
get::<BuildingResponse>(Self::build_ws_link(DOMAIN, format!("/building/{}", id)).await).await
}
pub async fn get_with_floors_by_id(building_id: Uuid) -> Result<BuildingWithFloorsResponse, String> {
get::<BuildingWithFloorsResponse>(Self::build_ws_link(DOMAIN, format!("/building/findWithFloors/{}", building_id)).await).await
}
}