From bc199c674d9574cc17a5712f49bbb9ac3635cdd0 Mon Sep 17 00:00:00 2001 From: Miroito Date: Mon, 24 Apr 2023 18:28:24 +0200 Subject: [PATCH] Add forgotten file --- client/src/api/routes/company.rs | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 client/src/api/routes/company.rs diff --git a/client/src/api/routes/company.rs b/client/src/api/routes/company.rs new file mode 100644 index 0000000..48d96be --- /dev/null +++ b/client/src/api/routes/company.rs @@ -0,0 +1,65 @@ +use crate::api::{ + types::{company::Company, paginated_response::PaginatedResponse}, + FastInsidersApi, +}; + +impl FastInsidersApi { + pub async fn get_company( + &self, + page: i64, + size: i64, + ) -> Result, ()> { + let route = &format!("{}/company?page={}&size={}", self.url, page, size,); + + #[cfg(client)] + let res = reqwasm::http::Request::get(route) + .send() + .await + .map_err(|_| ())? + .json::>() + .await + .map_err(|_| ())?; + + #[cfg(engine)] + let res = reqwest::get(route) + .await + .map_err(|_| ())? + .json::>() + .await + .map_err(|_| ())?; + + Ok(res) + } + + pub async fn get_company_by_name( + &self, + name: String, + limit: Option, + ) -> Result, ()> { + let route = &format!( + "{}/company/{}?{}", + self.url, + name, + limit.map(|l| format!("limit={}", l)).unwrap_or_default() + ); + + #[cfg(client)] + let res = reqwasm::http::Request::get(route) + .send() + .await + .map_err(|_| ())? + .json::>() + .await + .map_err(|_| ())?; + + #[cfg(engine)] + let res = reqwest::get(route) + .await + .map_err(|_| ())? + .json::>() + .await + .map_err(|_| ())?; + + Ok(res) + } +}