squarespace_commerce/
orders.rs1use anyhow::Context;
2use tracing::{debug, info};
3
4use crate::{
5 client::Client,
6 types::orders::{Order, OrderResponse},
7};
8
9impl Client {
10 pub async fn retrieve_all_orders(&self) -> anyhow::Result<Vec<Order>> {
12 info!("Retrieving all orders");
13 let mut url_builder = Self::base_url_builder();
14 url_builder.add_route("orders");
15 let response = self.get_default_get_request(url_builder.build()).await?;
16
17 let order_response: OrderResponse = response.json().await?;
18 Ok(order_response.result)
19 }
20
21 pub async fn retrieve_order(&self, order_id: impl AsRef<str>) -> anyhow::Result<Order> {
23 info!("Retrieving order with ID: {}", order_id.as_ref()); let mut url_builder = Self::base_url_builder();
26 url_builder.add_route("orders").add_route(order_id.as_ref());
27
28 let response = self.get_default_get_request(url_builder.build()).await?;
29
30 debug!("{:?}", response);
31
32 response
33 .json()
34 .await
35 .context("Error decoding Order from retrieve_order response.")
36 }
37}