shopify_client/services/order/
mod.rs1pub mod remote;
2
3use std::sync::Arc;
4
5use crate::{
6 common::types::APIError,
7 types::order::{GetOrderResp, OrderQueryResp, PatchOrderRequest},
8};
9
10pub struct Order {
11 pub shop_url: Arc<String>,
12 pub version: Arc<String>,
13 pub access_token: Arc<String>,
14}
15
16impl Order {
17 pub fn new(shop_url: Arc<String>, version: Arc<String>, access_token: Arc<String>) -> Self {
18 Order {
19 shop_url,
20 version,
21 access_token,
22 }
23 }
24
25 pub async fn get_with_id(&self, order_id: &String) -> Result<GetOrderResp, APIError> {
26 remote::get_order_with_id(&self.shop_url, &self.version, &self.access_token, order_id).await
27 }
28
29 pub async fn get_with_name(&self, order_name: &String) -> Result<OrderQueryResp, APIError> {
30 remote::get_order_with_name(
31 &self.shop_url,
32 &self.version,
33 order_name,
34 &self.access_token,
35 )
36 .await
37 }
38
39 pub async fn patch(
40 &self,
41 order_id: &String,
42 patch_request: &PatchOrderRequest,
43 ) -> Result<GetOrderResp, APIError> {
44 remote::patch_order(
45 &self.shop_url,
46 &self.version,
47 &self.access_token,
48 order_id,
49 patch_request,
50 )
51 .await
52 }
53}