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 GetAssetsGraphError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum ListAssetsError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum ListAssetsByUsageError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum ListFavoriteAssetsError {
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum ListPipelineFoldersError {
50 UnknownValue(serde_json::Value),
51}
52
53
54pub async fn get_assets_graph(configuration: &configuration::Configuration, workspace: &str, asset_kinds: Option<&str>, folder: Option<&str>) -> Result<models::GetAssetsGraph200Response, Error<GetAssetsGraphError>> {
55 let local_var_configuration = configuration;
56
57 let local_var_client = &local_var_configuration.client;
58
59 let local_var_uri_str = format!("{}/w/{workspace}/assets/graph", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
60 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
61
62 if let Some(ref local_var_str) = asset_kinds {
63 local_var_req_builder = local_var_req_builder.query(&[("asset_kinds", &local_var_str.to_string())]);
64 }
65 if let Some(ref local_var_str) = folder {
66 local_var_req_builder = local_var_req_builder.query(&[("folder", &local_var_str.to_string())]);
67 }
68 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
69 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
70 }
71 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
72 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
73 };
74
75 let local_var_req = local_var_req_builder.build()?;
76 let local_var_resp = local_var_client.execute(local_var_req).await?;
77
78 let local_var_status = local_var_resp.status();
79 let local_var_content = local_var_resp.text().await?;
80
81 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
82 crate::from_str_patched(&local_var_content).map_err(Error::from)
83 } else {
84 let local_var_entity: Option<GetAssetsGraphError> = crate::from_str_patched(&local_var_content).ok();
85 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
86 Err(Error::ResponseError(local_var_error))
87 }
88}
89
90pub async fn list_assets(configuration: &configuration::Configuration, workspace: &str, per_page: Option<i32>, cursor_created_at: Option<String>, cursor_id: Option<i64>, asset_path: Option<&str>, usage_path: Option<&str>, asset_kinds: Option<&str>, path: Option<&str>, columns: Option<&str>, broad_filter: Option<&str>) -> Result<models::ListAssets200Response, Error<ListAssetsError>> {
91 let local_var_configuration = configuration;
92
93 let local_var_client = &local_var_configuration.client;
94
95 let local_var_uri_str = format!("{}/w/{workspace}/assets/list", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
96 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
97
98 if let Some(ref local_var_str) = per_page {
99 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
100 }
101 if let Some(ref local_var_str) = cursor_created_at {
102 local_var_req_builder = local_var_req_builder.query(&[("cursor_created_at", &local_var_str.to_string())]);
103 }
104 if let Some(ref local_var_str) = cursor_id {
105 local_var_req_builder = local_var_req_builder.query(&[("cursor_id", &local_var_str.to_string())]);
106 }
107 if let Some(ref local_var_str) = asset_path {
108 local_var_req_builder = local_var_req_builder.query(&[("asset_path", &local_var_str.to_string())]);
109 }
110 if let Some(ref local_var_str) = usage_path {
111 local_var_req_builder = local_var_req_builder.query(&[("usage_path", &local_var_str.to_string())]);
112 }
113 if let Some(ref local_var_str) = asset_kinds {
114 local_var_req_builder = local_var_req_builder.query(&[("asset_kinds", &local_var_str.to_string())]);
115 }
116 if let Some(ref local_var_str) = path {
117 local_var_req_builder = local_var_req_builder.query(&[("path", &local_var_str.to_string())]);
118 }
119 if let Some(ref local_var_str) = columns {
120 local_var_req_builder = local_var_req_builder.query(&[("columns", &local_var_str.to_string())]);
121 }
122 if let Some(ref local_var_str) = broad_filter {
123 local_var_req_builder = local_var_req_builder.query(&[("broad_filter", &local_var_str.to_string())]);
124 }
125 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
126 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
127 }
128 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
129 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
130 };
131
132 let local_var_req = local_var_req_builder.build()?;
133 let local_var_resp = local_var_client.execute(local_var_req).await?;
134
135 let local_var_status = local_var_resp.status();
136 let local_var_content = local_var_resp.text().await?;
137
138 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
139 crate::from_str_patched(&local_var_content).map_err(Error::from)
140 } else {
141 let local_var_entity: Option<ListAssetsError> = crate::from_str_patched(&local_var_content).ok();
142 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
143 Err(Error::ResponseError(local_var_error))
144 }
145}
146
147pub async fn list_assets_by_usage(configuration: &configuration::Configuration, workspace: &str, list_assets_by_usage_request: models::ListAssetsByUsageRequest) -> Result<Vec<Vec<models::ListAssetsByUsage200ResponseInnerInner>>, Error<ListAssetsByUsageError>> {
148 let local_var_configuration = configuration;
149
150 let local_var_client = &local_var_configuration.client;
151
152 let local_var_uri_str = format!("{}/w/{workspace}/assets/list_by_usages", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
153 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
154
155 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
156 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
157 }
158 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
159 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
160 };
161 local_var_req_builder = local_var_req_builder.json(&list_assets_by_usage_request);
162
163 let local_var_req = local_var_req_builder.build()?;
164 let local_var_resp = local_var_client.execute(local_var_req).await?;
165
166 let local_var_status = local_var_resp.status();
167 let local_var_content = local_var_resp.text().await?;
168
169 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
170 crate::from_str_patched(&local_var_content).map_err(Error::from)
171 } else {
172 let local_var_entity: Option<ListAssetsByUsageError> = crate::from_str_patched(&local_var_content).ok();
173 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
174 Err(Error::ResponseError(local_var_error))
175 }
176}
177
178pub async fn list_favorite_assets(configuration: &configuration::Configuration, workspace: &str) -> Result<Vec<models::ListFavoriteAssets200ResponseInner>, Error<ListFavoriteAssetsError>> {
179 let local_var_configuration = configuration;
180
181 let local_var_client = &local_var_configuration.client;
182
183 let local_var_uri_str = format!("{}/w/{workspace}/assets/list_favorites", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
184 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
185
186 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
187 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
188 }
189 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
190 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
191 };
192
193 let local_var_req = local_var_req_builder.build()?;
194 let local_var_resp = local_var_client.execute(local_var_req).await?;
195
196 let local_var_status = local_var_resp.status();
197 let local_var_content = local_var_resp.text().await?;
198
199 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
200 crate::from_str_patched(&local_var_content).map_err(Error::from)
201 } else {
202 let local_var_entity: Option<ListFavoriteAssetsError> = crate::from_str_patched(&local_var_content).ok();
203 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
204 Err(Error::ResponseError(local_var_error))
205 }
206}
207
208pub async fn list_pipeline_folders(configuration: &configuration::Configuration, workspace: &str) -> Result<Vec<models::ListPipelineFolders200ResponseInner>, Error<ListPipelineFoldersError>> {
209 let local_var_configuration = configuration;
210
211 let local_var_client = &local_var_configuration.client;
212
213 let local_var_uri_str = format!("{}/w/{workspace}/assets/pipelines", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
214 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
215
216 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
217 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
218 }
219 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
220 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
221 };
222
223 let local_var_req = local_var_req_builder.build()?;
224 let local_var_resp = local_var_client.execute(local_var_req).await?;
225
226 let local_var_status = local_var_resp.status();
227 let local_var_content = local_var_resp.text().await?;
228
229 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
230 crate::from_str_patched(&local_var_content).map_err(Error::from)
231 } else {
232 let local_var_entity: Option<ListPipelineFoldersError> = crate::from_str_patched(&local_var_content).ok();
233 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
234 Err(Error::ResponseError(local_var_error))
235 }
236}
237