1
+
2
+ //------------------------------------------------------------------------------
3
+ // <auto-generated>
4
+ // This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
5
+ //
6
+ // Changes to this file may cause incorrect behavior and will be lost when
7
+ // the code is regenerated.
8
+ // </auto-generated>
9
+ //------------------------------------------------------------------------------
10
+ #nullable enable
11
+ namespace Codat . Platform
12
+ {
13
+ using Codat . Platform . Models . Shared ;
14
+ using Codat . Platform . Utils ;
15
+ using Newtonsoft . Json ;
16
+ using System . Collections . Generic ;
17
+ using System . Net . Http ;
18
+ using System . Threading . Tasks ;
19
+ using System ;
20
+
21
+
22
+
23
+ /// <summary>
24
+ /// Platform API: Platform API
25
+ ///
26
+ /// <remarks>
27
+ /// An API for the common components of all of Codat's products.<br/>
28
+ /// <br/>
29
+ /// These end points cover creating and managing your companies, data connections, and integrations.<br/>
30
+ /// <br/>
31
+ /// <a href="https://docs.codat.io/core-concepts/companies">Read about the building blocks of Codat...</a><br/>
32
+ /// <br/>
33
+ /// <a href="https://github.com/codatio/oas">See our OpenAPI spec</a>
34
+ /// </remarks>
35
+ /// </summary>
36
+ public interface ICodatPlatform
37
+ {
38
+
39
+ /// <summary>
40
+ /// Manage your Codat instance.
41
+ /// </summary>
42
+ public ISettings Settings { get ; }
43
+
44
+ /// <summary>
45
+ /// Create and manage your Codat companies.
46
+ /// </summary>
47
+ public ICompanies Companies { get ; }
48
+
49
+ /// <summary>
50
+ /// Manage your companies' data connections.
51
+ /// </summary>
52
+ public IConnections Connections { get ; }
53
+
54
+ /// <summary>
55
+ /// View and configure custom data types for supported integrations.
56
+ /// </summary>
57
+ public ICustomDataType CustomDataType { get ; }
58
+
59
+ /// <summary>
60
+ /// View push options and get push statuses.
61
+ /// </summary>
62
+ public IPushData PushData { get ; }
63
+
64
+ /// <summary>
65
+ /// Asynchronously retrieve data from an integration to refresh data in Codat.
66
+ /// </summary>
67
+ public IRefreshData RefreshData { get ; }
68
+
69
+ /// <summary>
70
+ /// View and manage your available integrations in Codat.
71
+ /// </summary>
72
+ public IIntegrations Integrations { get ; }
73
+
74
+ /// <summary>
75
+ /// View and configure supplemental data for supported data types.
76
+ /// </summary>
77
+ public ISupplementalData SupplementalData { get ; }
78
+
79
+ /// <summary>
80
+ /// Manage webhooks, rules, and events.
81
+ /// </summary>
82
+ public IWebhooks Webhooks { get ; }
83
+ }
84
+
85
+ public class SDKConfig
86
+ {
87
+ public static string [ ] ServerList = new string [ ]
88
+ {
89
+ "https://api.codat.io" ,
90
+ } ;
91
+ /// Contains the list of servers available to the SDK
92
+ public string serverUrl = "" ;
93
+ public int serverIndex = 0 ;
94
+
95
+ public string GetTemplatedServerDetails ( )
96
+ {
97
+ if ( ! String . IsNullOrEmpty ( this . serverUrl ) )
98
+ {
99
+ return Utilities . TemplateUrl ( Utilities . RemoveSuffix ( this . serverUrl , "/" ) , new Dictionary < string , string > ( ) ) ;
100
+ }
101
+ return Utilities . TemplateUrl ( SDKConfig . ServerList [ this . serverIndex ] , new Dictionary < string , string > ( ) ) ;
102
+ }
103
+ }
104
+
105
+ /// <summary>
106
+ /// Platform API: Platform API
107
+ ///
108
+ /// <remarks>
109
+ /// An API for the common components of all of Codat's products.<br/>
110
+ /// <br/>
111
+ /// These end points cover creating and managing your companies, data connections, and integrations.<br/>
112
+ /// <br/>
113
+ /// <a href="https://docs.codat.io/core-concepts/companies">Read about the building blocks of Codat...</a><br/>
114
+ /// <br/>
115
+ /// <a href="https://github.com/codatio/oas">See our OpenAPI spec</a>
116
+ /// </remarks>
117
+ /// </summary>
118
+ public class CodatPlatform : ICodatPlatform
119
+ {
120
+ public SDKConfig SDKConfiguration { get ; private set ; }
121
+
122
+ private const string _language = "csharp" ;
123
+ private const string _sdkVersion = "3.0.0" ;
124
+ private const string _sdkGenVersion = "2.214.10" ;
125
+ private const string _openapiDocVersion = "3.0.0" ;
126
+ private const string _userAgent = "speakeasy-sdk/csharp 3.0.0 2.214.10 3.0.0 Codat.Platform" ;
127
+ private string _serverUrl = "" ;
128
+ private ISpeakeasyHttpClient _defaultClient ;
129
+ private ISpeakeasyHttpClient _securityClient ;
130
+ public ISettings Settings { get ; private set ; }
131
+ public ICompanies Companies { get ; private set ; }
132
+ public IConnections Connections { get ; private set ; }
133
+ public ICustomDataType CustomDataType { get ; private set ; }
134
+ public IPushData PushData { get ; private set ; }
135
+ public IRefreshData RefreshData { get ; private set ; }
136
+ public IIntegrations Integrations { get ; private set ; }
137
+ public ISupplementalData SupplementalData { get ; private set ; }
138
+ public IWebhooks Webhooks { get ; private set ; }
139
+
140
+ public CodatPlatform ( Security ? security = null , int ? serverIndex = null , string ? serverUrl = null , Dictionary < string , string > ? urlParams = null , ISpeakeasyHttpClient ? client = null )
141
+ {
142
+ if ( serverUrl != null ) {
143
+ if ( urlParams != null ) {
144
+ serverUrl = Utilities . TemplateUrl ( serverUrl , urlParams ) ;
145
+ }
146
+ _serverUrl = serverUrl ;
147
+ }
148
+
149
+ _defaultClient = new SpeakeasyHttpClient ( client ) ;
150
+ _securityClient = _defaultClient ;
151
+
152
+ if ( security != null )
153
+ {
154
+ _securityClient = SecuritySerializer . Apply ( _defaultClient , security ) ;
155
+ }
156
+
157
+ SDKConfiguration = new SDKConfig ( )
158
+ {
159
+ serverUrl = _serverUrl
160
+ } ;
161
+
162
+ Settings = new Settings ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
163
+ Companies = new Companies ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
164
+ Connections = new Connections ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
165
+ CustomDataType = new CustomDataType ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
166
+ PushData = new PushData ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
167
+ RefreshData = new RefreshData ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
168
+ Integrations = new Integrations ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
169
+ SupplementalData = new SupplementalData ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
170
+ Webhooks = new Webhooks ( _defaultClient , _securityClient , _serverUrl , SDKConfiguration ) ;
171
+ }
172
+ }
173
+ }
0 commit comments