shopify_client/services/cart_transform/
mod.rs

1pub mod remote;
2
3use std::sync::Arc;
4
5use crate::{
6    common::types::{APIError, RequestCallbacks},
7    types::cart_transform::{CartTransformCreateInput, CartTransformCreateResp},
8};
9
10pub struct CartTransform {
11    pub shop_url: Arc<String>,
12    pub version: Arc<String>,
13    pub access_token: Arc<String>,
14    pub callbacks: Arc<RequestCallbacks>,
15}
16
17impl CartTransform {
18    pub fn new(
19        shop_url: Arc<String>,
20        version: Arc<String>,
21        access_token: Arc<String>,
22        callbacks: Arc<RequestCallbacks>,
23    ) -> Self {
24        CartTransform {
25            shop_url,
26            version,
27            access_token,
28            callbacks,
29        }
30    }
31
32    pub async fn create(
33        &self,
34        input: &CartTransformCreateInput,
35    ) -> Result<CartTransformCreateResp, APIError> {
36        remote::create_cart_transform(
37            &self.shop_url,
38            &self.version,
39            &self.access_token,
40            &self.callbacks,
41            input,
42        )
43        .await
44    }
45}