1use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CheckIfNativeTriggersServiceExistsError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum CheckInstanceSharingAvailableError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum CreateNativeTriggerServiceError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum DeleteNativeTriggerConnectionError {
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum DeleteNativeTriggerServiceError {
50 UnknownValue(serde_json::Value),
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GenerateNativeTriggerServiceConnectUrlError {
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum ListNativeTriggerConnectionsError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum ListNativeTriggerServicesError {
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum NativeTriggerServiceCallbackError {
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum SetNativeTriggerWorkspaceConnectionError {
85 UnknownValue(serde_json::Value),
86}
87
88
89pub async fn check_if_native_triggers_service_exists(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName) -> Result<bool, Error<CheckIfNativeTriggersServiceExistsError>> {
90 let local_var_configuration = configuration;
91
92 let local_var_client = &local_var_configuration.client;
93
94 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/exists", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
95 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
96
97 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
98 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
99 }
100 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
101 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
102 };
103
104 let local_var_req = local_var_req_builder.build()?;
105 let local_var_resp = local_var_client.execute(local_var_req).await?;
106
107 let local_var_status = local_var_resp.status();
108 let local_var_content = local_var_resp.text().await?;
109
110 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
111 crate::from_str_patched(&local_var_content).map_err(Error::from)
112 } else {
113 let local_var_entity: Option<CheckIfNativeTriggersServiceExistsError> = crate::from_str_patched(&local_var_content).ok();
114 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
115 Err(Error::ResponseError(local_var_error))
116 }
117}
118
119pub async fn check_instance_sharing_available(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName) -> Result<bool, Error<CheckInstanceSharingAvailableError>> {
120 let local_var_configuration = configuration;
121
122 let local_var_client = &local_var_configuration.client;
123
124 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/instance_sharing_available", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
125 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
126
127 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
128 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
129 }
130 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
131 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
132 };
133
134 let local_var_req = local_var_req_builder.build()?;
135 let local_var_resp = local_var_client.execute(local_var_req).await?;
136
137 let local_var_status = local_var_resp.status();
138 let local_var_content = local_var_resp.text().await?;
139
140 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
141 crate::from_str_patched(&local_var_content).map_err(Error::from)
142 } else {
143 let local_var_entity: Option<CheckInstanceSharingAvailableError> = crate::from_str_patched(&local_var_content).ok();
144 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
145 Err(Error::ResponseError(local_var_error))
146 }
147}
148
149pub async fn create_native_trigger_service(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName, workspace_o_auth_config: models::WorkspaceOAuthConfig) -> Result<String, Error<CreateNativeTriggerServiceError>> {
150 let local_var_configuration = configuration;
151
152 let local_var_client = &local_var_configuration.client;
153
154 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/create", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
155 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
156
157 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
158 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
159 }
160 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
161 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
162 };
163 local_var_req_builder = local_var_req_builder.json(&workspace_o_auth_config);
164
165 let local_var_req = local_var_req_builder.build()?;
166 let local_var_resp = local_var_client.execute(local_var_req).await?;
167
168 let local_var_status = local_var_resp.status();
169 let local_var_content = local_var_resp.text().await?;
170
171 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
172 crate::from_str_patched(&local_var_content).map_err(Error::from)
173 } else {
174 let local_var_entity: Option<CreateNativeTriggerServiceError> = crate::from_str_patched(&local_var_content).ok();
175 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
176 Err(Error::ResponseError(local_var_error))
177 }
178}
179
180pub async fn delete_native_trigger_connection(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName, path: &str) -> Result<String, Error<DeleteNativeTriggerConnectionError>> {
181 let local_var_configuration = configuration;
182
183 let local_var_client = &local_var_configuration.client;
184
185 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/connections/delete", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
186 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
187
188 local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
189 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
190 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
191 }
192 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
193 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
194 };
195
196 let local_var_req = local_var_req_builder.build()?;
197 let local_var_resp = local_var_client.execute(local_var_req).await?;
198
199 let local_var_status = local_var_resp.status();
200 let local_var_content = local_var_resp.text().await?;
201
202 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
203 crate::from_str_patched(&local_var_content).map_err(Error::from)
204 } else {
205 let local_var_entity: Option<DeleteNativeTriggerConnectionError> = crate::from_str_patched(&local_var_content).ok();
206 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
207 Err(Error::ResponseError(local_var_error))
208 }
209}
210
211pub async fn delete_native_trigger_service(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName) -> Result<String, Error<DeleteNativeTriggerServiceError>> {
212 let local_var_configuration = configuration;
213
214 let local_var_client = &local_var_configuration.client;
215
216 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/delete", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
217 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
218
219 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
220 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
221 }
222 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
223 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
224 };
225
226 let local_var_req = local_var_req_builder.build()?;
227 let local_var_resp = local_var_client.execute(local_var_req).await?;
228
229 let local_var_status = local_var_resp.status();
230 let local_var_content = local_var_resp.text().await?;
231
232 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
233 crate::from_str_patched(&local_var_content).map_err(Error::from)
234 } else {
235 let local_var_entity: Option<DeleteNativeTriggerServiceError> = crate::from_str_patched(&local_var_content).ok();
236 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
237 Err(Error::ResponseError(local_var_error))
238 }
239}
240
241pub async fn generate_native_trigger_service_connect_url(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName, generate_native_trigger_service_connect_url_request: models::GenerateNativeTriggerServiceConnectUrlRequest) -> Result<String, Error<GenerateNativeTriggerServiceConnectUrlError>> {
242 let local_var_configuration = configuration;
243
244 let local_var_client = &local_var_configuration.client;
245
246 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/generate_connect_url", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
247 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
248
249 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
250 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
251 }
252 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
253 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
254 };
255 local_var_req_builder = local_var_req_builder.json(&generate_native_trigger_service_connect_url_request);
256
257 let local_var_req = local_var_req_builder.build()?;
258 let local_var_resp = local_var_client.execute(local_var_req).await?;
259
260 let local_var_status = local_var_resp.status();
261 let local_var_content = local_var_resp.text().await?;
262
263 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
264 crate::from_str_patched(&local_var_content).map_err(Error::from)
265 } else {
266 let local_var_entity: Option<GenerateNativeTriggerServiceConnectUrlError> = crate::from_str_patched(&local_var_content).ok();
267 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
268 Err(Error::ResponseError(local_var_error))
269 }
270}
271
272pub async fn list_native_trigger_connections(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName) -> Result<Vec<models::NativeTriggerConnection>, Error<ListNativeTriggerConnectionsError>> {
273 let local_var_configuration = configuration;
274
275 let local_var_client = &local_var_configuration.client;
276
277 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/connections", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
278 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
279
280 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
281 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
282 }
283 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
284 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
285 };
286
287 let local_var_req = local_var_req_builder.build()?;
288 let local_var_resp = local_var_client.execute(local_var_req).await?;
289
290 let local_var_status = local_var_resp.status();
291 let local_var_content = local_var_resp.text().await?;
292
293 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
294 crate::from_str_patched(&local_var_content).map_err(Error::from)
295 } else {
296 let local_var_entity: Option<ListNativeTriggerConnectionsError> = crate::from_str_patched(&local_var_content).ok();
297 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
298 Err(Error::ResponseError(local_var_error))
299 }
300}
301
302pub async fn list_native_trigger_services(configuration: &configuration::Configuration, workspace: &str) -> Result<Vec<models::WorkspaceIntegrations>, Error<ListNativeTriggerServicesError>> {
303 let local_var_configuration = configuration;
304
305 let local_var_client = &local_var_configuration.client;
306
307 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/list", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
308 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
309
310 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
311 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
312 }
313 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
314 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
315 };
316
317 let local_var_req = local_var_req_builder.build()?;
318 let local_var_resp = local_var_client.execute(local_var_req).await?;
319
320 let local_var_status = local_var_resp.status();
321 let local_var_content = local_var_resp.text().await?;
322
323 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
324 crate::from_str_patched(&local_var_content).map_err(Error::from)
325 } else {
326 let local_var_entity: Option<ListNativeTriggerServicesError> = crate::from_str_patched(&local_var_content).ok();
327 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
328 Err(Error::ResponseError(local_var_error))
329 }
330}
331
332pub async fn native_trigger_service_callback(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName, native_trigger_service_callback_request: models::NativeTriggerServiceCallbackRequest) -> Result<String, Error<NativeTriggerServiceCallbackError>> {
333 let local_var_configuration = configuration;
334
335 let local_var_client = &local_var_configuration.client;
336
337 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/callback", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
338 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
339
340 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
341 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
342 }
343 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
344 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
345 };
346 local_var_req_builder = local_var_req_builder.json(&native_trigger_service_callback_request);
347
348 let local_var_req = local_var_req_builder.build()?;
349 let local_var_resp = local_var_client.execute(local_var_req).await?;
350
351 let local_var_status = local_var_resp.status();
352 let local_var_content = local_var_resp.text().await?;
353
354 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
355 crate::from_str_patched(&local_var_content).map_err(Error::from)
356 } else {
357 let local_var_entity: Option<NativeTriggerServiceCallbackError> = crate::from_str_patched(&local_var_content).ok();
358 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
359 Err(Error::ResponseError(local_var_error))
360 }
361}
362
363pub async fn set_native_trigger_workspace_connection(configuration: &configuration::Configuration, workspace: &str, service_name: models::NativeServiceName, set_native_trigger_workspace_connection_request: models::SetNativeTriggerWorkspaceConnectionRequest) -> Result<String, Error<SetNativeTriggerWorkspaceConnectionError>> {
364 let local_var_configuration = configuration;
365
366 let local_var_client = &local_var_configuration.client;
367
368 let local_var_uri_str = format!("{}/w/{workspace}/native_triggers/integrations/{service_name}/workspace_connection", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), service_name=service_name.to_string());
369 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
370
371 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
372 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
373 }
374 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
375 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
376 };
377 local_var_req_builder = local_var_req_builder.json(&set_native_trigger_workspace_connection_request);
378
379 let local_var_req = local_var_req_builder.build()?;
380 let local_var_resp = local_var_client.execute(local_var_req).await?;
381
382 let local_var_status = local_var_resp.status();
383 let local_var_content = local_var_resp.text().await?;
384
385 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
386 crate::from_str_patched(&local_var_content).map_err(Error::from)
387 } else {
388 let local_var_entity: Option<SetNativeTriggerWorkspaceConnectionError> = crate::from_str_patched(&local_var_content).ok();
389 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
390 Err(Error::ResponseError(local_var_error))
391 }
392}
393