dfns_sdk_rs/client/
delegated_api_client.rs

1// @dfns-sdk-rs/src/client/delegated_api_client.rs
2
3use crate::{
4    api::{
5        auth::delegated_client::DelegatedAuthClient,
6        exchanges::delegated_client::DelegatedExchangesClient,
7        networks::delegated_client::DelegatedNetworksClient,
8        permissions::delegated_client::DelegatedPermissionsClient,
9        policies::delegated_client::DelegatedPoliciesClient,
10        signers::delegated_client::DelegatedSignersClient,
11        staking::delegated_client::DelegatedStakingClient,
12        wallets::delegated_client::DelegatedWalletsClient,
13        webhooks::delegated_client::DelegatedWebhooksClient,
14    },
15    models::generic::DfnsBaseApiOptions,
16};
17
18#[derive(Debug, Clone)]
19pub struct DfnsDelegatedApiClientOptions {
20    pub base: DfnsBaseApiOptions,
21}
22
23pub struct DfnsDelegatedApiClient {
24    api_options: DfnsDelegatedApiClientOptions,
25}
26
27impl DfnsDelegatedApiClient {
28    pub fn new(api_options: DfnsDelegatedApiClientOptions) -> Self {
29        Self { api_options }
30    }
31
32    pub fn auth(&self) -> DelegatedAuthClient {
33        DelegatedAuthClient::new(self.api_options.clone())
34    }
35
36    pub fn exchanges(&self) -> DelegatedExchangesClient {
37        DelegatedExchangesClient::new(self.api_options.clone())
38    }
39
40    pub fn networks(&self) -> DelegatedNetworksClient {
41        DelegatedNetworksClient::new(self.api_options.clone())
42    }
43
44    pub fn permissions(&self) -> DelegatedPermissionsClient {
45        DelegatedPermissionsClient::new(self.api_options.clone())
46    }
47
48    pub fn policies(&self) -> DelegatedPoliciesClient {
49        DelegatedPoliciesClient::new(self.api_options.clone())
50    }
51
52    pub fn staking(&self) -> DelegatedStakingClient {
53        DelegatedStakingClient::new(self.api_options.clone())
54    }
55
56    pub fn signers(&self) -> DelegatedSignersClient {
57        DelegatedSignersClient::new(self.api_options.clone())
58    }
59
60    pub fn wallets(&self) -> DelegatedWalletsClient {
61        DelegatedWalletsClient::new(self.api_options.clone())
62    }
63
64    pub fn webhooks(&self) -> DelegatedWebhooksClient {
65        DelegatedWebhooksClient::new(self.api_options.clone())
66    }
67}