use cart_sync::models::{shopping_list_entry, ShoppingListEntry}; use reqwest::{self, Client}; use serde::Deserialize; use std::env; pub async fn fetch_shopping_list_entries(api_token: &str) -> Option> { let base_url = env::var("TANDOOR_BASE_URL").expect("Base Url needed"); let route = "/shopping-list-entry/"; let url = format!("{}{}", base_url, route); let client = Client::new(); let req = client .get(&url) .query(&[("checked", "false")]) .bearer_auth(api_token); let response = req.send().await; match response { Ok(resolved) => match resolved.status() { reqwest::StatusCode::OK => { let json_body = resolved.json::>().await; match json_body { Ok(j) => Some(j), Err(e) => { println!("{}", e); None } } } reqwest::StatusCode::FORBIDDEN => { println!("Denied {:#?}", resolved); None } _ => { println!("Fail {:#?}", resolved); None } }, Err(failed) => { println!("There was an error in the reqwest: {failed}"); None } } }