1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
//! Gateway for the API
use crate::{api::*, config::Configuration, http::client::HttpClient, models::errors::ApiError};
/// Gateway struct for the library.
/// This struct acts as a factory for Apis.
/// It holds the state of the SDK.
pub struct SquareClient {
// pub mobile_authorization: MobileAuthorizationApi,
// pub o_auth: OAuthApi,
// pub apple_pay: ApplePayApi,
// pub bank_accounts: BankAccountsApi,
// pub bookings: BookingsApi,
pub cards: CardsApi,
// pub cash_drawers: CashDrawersApi,
pub catalog: CatalogApi,
pub customers: CustomersApi,
// pub customer_groups: CustomerGroupsApi,
// pub customer_segments: CustomerSegmentsApi,
// pub devices: DevicesApi,
// pub disputes: DisputesApi,
// pub employees: EmployeesApi,
pub gift_cards: GiftCardsApi,
pub gift_card_activities: GiftCardActivitiesApi,
pub inventory: InventoryApi,
// pub invoices: InvoicesApi,
// pub labor: LaborApi,
pub locations: LocationsApi,
// pub checkout: CheckoutApi,
// pub transactions: TransactionsApi,
// pub loyalty: LoyaltyApi,
// pub merchants: MerchantsApi,
pub orders: OrdersApi,
pub payments: PaymentsApi,
pub refunds: RefundsApi,
// pub sites: SitesApi,
// pub snippets: SnippetsApi,
// pub subscriptions: SubscriptionsApi,
// pub team: TeamApi,
// pub terminal: TerminalApi,
// pub config: Configuration,
// pub http_client: HttpClient,
// pub http_client_config: HttpClientConfiguration,
// pub additional_headers: Headers,
// pub user_agent_detail: String,
// pub bearer_auth_manager: BearerAuthManager,
// pub auth_managers: HashMap<String, AuthManager>,
// pub http_callback: HttpCallback,
}
impl SquareClient {
pub fn try_new(config: Configuration) -> Result<Self, ApiError> {
let http_client = HttpClient::try_new(&config.http_client_config)?;
let this: SquareClient = Self {
cards: CardsApi::new(config.clone(), http_client.clone()),
catalog: CatalogApi::new(config.clone(), http_client.clone()),
customers: CustomersApi::new(config.clone(), http_client.clone()),
gift_card_activities: GiftCardActivitiesApi::new(config.clone(), http_client.clone()),
gift_cards: GiftCardsApi::new(config.clone(), http_client.clone()),
inventory: InventoryApi::new(config.clone(), http_client.clone()),
locations: LocationsApi::new(config.clone(), http_client.clone()),
orders: OrdersApi::new(config.clone(), http_client.clone()),
payments: PaymentsApi::new(config.clone(), http_client.clone()),
refunds: RefundsApi::new(config, http_client),
};
Ok(this)
}
}