square_api_client/
square_client.rs1use crate::{api::*, config::Configuration, http::client::HttpClient, models::errors::ApiError};
4
5pub struct SquareClient {
9 pub apple_pay: ApplePayApi,
12 pub cards: CardsApi,
15 pub catalog: CatalogApi,
17 pub customers: CustomersApi,
18 pub customer_groups: CustomerGroupsApi,
19 pub customer_segments: CustomerSegmentsApi,
20 pub gift_cards: GiftCardsApi,
24 pub gift_card_activities: GiftCardActivitiesApi,
25 pub inventory: InventoryApi,
26 pub invoices: InvoicesApi,
27 pub locations: LocationsApi,
29 pub orders: OrdersApi,
34 pub payments: PaymentsApi,
35 pub refunds: RefundsApi,
36 pub subscriptions: SubscriptionsApi,
39 pub team: TeamApi,
40 }
50
51impl SquareClient {
52 pub fn try_new(config: Configuration) -> Result<Self, ApiError> {
53 let http_client = HttpClient::try_new(&config.http_client_config)?;
54
55 let this: SquareClient = Self {
56 apple_pay: ApplePayApi::new(config.clone(), http_client.clone()),
57 cards: CardsApi::new(config.clone(), http_client.clone()),
58 catalog: CatalogApi::new(config.clone(), http_client.clone()),
59 customer_groups: CustomerGroupsApi::new(config.clone(), http_client.clone()),
60 customer_segments: CustomerSegmentsApi::new(config.clone(), http_client.clone()),
61 customers: CustomersApi::new(config.clone(), http_client.clone()),
62 gift_card_activities: GiftCardActivitiesApi::new(config.clone(), http_client.clone()),
63 gift_cards: GiftCardsApi::new(config.clone(), http_client.clone()),
64 inventory: InventoryApi::new(config.clone(), http_client.clone()),
65 invoices: InvoicesApi::new(config.clone(), http_client.clone()),
66 locations: LocationsApi::new(config.clone(), http_client.clone()),
67 orders: OrdersApi::new(config.clone(), http_client.clone()),
68 payments: PaymentsApi::new(config.clone(), http_client.clone()),
69 refunds: RefundsApi::new(config.clone(), http_client.clone()),
70 subscriptions: SubscriptionsApi::new(config.clone(), http_client.clone()),
71 team: TeamApi::new(config, http_client),
72 };
73
74 Ok(this)
75 }
76}