1use crate::gecko;
2use crate::types::Response;
3use serde_json;
4
5pub fn get(per_page: Option<usize>, page: Option<usize>) -> Response<serde_json::Value> {
6 let url = String::from("/indexes");
7 let mut params = String::from("?");
8
9 params = gecko::append_if(
10 &mut params,
11 !per_page.is_none(),
12 Some(&["per_page", &per_page.unwrap().to_string()].join("=")),
13 None,
14 );
15
16 params = gecko::append_if(
17 &mut params,
18 !page.is_none(),
19 Some(&["page", &page.unwrap().to_string()].join("=")),
20 None,
21 );
22
23 let response = gecko::get_request(&url, ¶ms);
24 response
25}
26
27pub fn by_id(market_id: &str, id: &str) -> Response<serde_json::Value> {
28 let url = String::from(["/indexes", market_id, id].join("/"));
29
30 let response = gecko::get_request(&url, "");
31 response
32}
33
34pub fn list() -> Response<serde_json::Value> {
35 let response = gecko::get_request("/indexes/list", "");
36 response
37}