1use std::sync::Arc;
2
3pub mod common;
4mod services;
5pub mod types;
6pub mod webhooks;
7
8pub struct ShopifyClient {
9 pub order: services::order::Order,
10}
11
12impl ShopifyClient {
13 pub fn new(shop_url: String, access_token: String, api_version: Option<String>) -> Self {
14 let api_version = api_version.unwrap_or("2024-07".to_string());
15 let shop_url_arc = Arc::new(shop_url);
16 let api_version_arc = Arc::new(api_version);
17 let access_token_arc = Arc::new(access_token);
18
19 ShopifyClient {
20 order: services::order::Order::new(
21 Arc::clone(&shop_url_arc),
22 Arc::clone(&api_version_arc),
23 Arc::clone(&access_token_arc),
24 ),
25 }
26 }
27}