1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum GetClusterAnalyticsError {
22 Status400(models::ErrorResponseBody),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum GetCtrAnalyticsError {
30 Status400(models::ErrorResponseBody),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum GetRagAnalyticsError {
38 Status400(models::ErrorResponseBody),
39 UnknownValue(serde_json::Value),
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum GetRecommendationAnalyticsError {
46 Status400(models::ErrorResponseBody),
47 UnknownValue(serde_json::Value),
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
52#[serde(untagged)]
53pub enum GetSearchAnalyticsError {
54 Status400(models::ErrorResponseBody),
55 UnknownValue(serde_json::Value),
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(untagged)]
61pub enum SendCtrDataError {
62 Status400(models::ErrorResponseBody),
63 UnknownValue(serde_json::Value),
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum SetQueryRatingError {
70 Status400(models::ErrorResponseBody),
71 UnknownValue(serde_json::Value),
72}
73
74
75pub async fn get_cluster_analytics(configuration: &configuration::Configuration, tr_dataset: &str, cluster_analytics: models::ClusterAnalytics) -> Result<models::ClusterAnalyticsResponse, Error<GetClusterAnalyticsError>> {
77 let local_var_configuration = configuration;
78
79 let local_var_client = &local_var_configuration.client;
80
81 let local_var_uri_str = format!("{}/api/analytics/search/cluster", local_var_configuration.base_path);
82 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
83
84 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
85 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
86 }
87 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
88 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
89 let local_var_key = local_var_apikey.key.clone();
90 let local_var_value = match local_var_apikey.prefix {
91 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
92 None => local_var_key,
93 };
94 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
95 };
96 local_var_req_builder = local_var_req_builder.json(&cluster_analytics);
97
98 let local_var_req = local_var_req_builder.build()?;
99 let local_var_resp = local_var_client.execute(local_var_req).await?;
100
101 let local_var_status = local_var_resp.status();
102 let local_var_content = local_var_resp.text().await?;
103
104 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
105 serde_json::from_str(&local_var_content).map_err(Error::from)
106 } else {
107 let local_var_entity: Option<GetClusterAnalyticsError> = serde_json::from_str(&local_var_content).ok();
108 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
109 Err(Error::ResponseError(local_var_error))
110 }
111}
112
113pub async fn get_ctr_analytics(configuration: &configuration::Configuration, tr_dataset: &str, ctr_analytics: models::CtrAnalytics) -> Result<models::CtrAnalyticsResponse, Error<GetCtrAnalyticsError>> {
115 let local_var_configuration = configuration;
116
117 let local_var_client = &local_var_configuration.client;
118
119 let local_var_uri_str = format!("{}/api/analytics/ctr", local_var_configuration.base_path);
120 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
121
122 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
123 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
124 }
125 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
126 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
127 let local_var_key = local_var_apikey.key.clone();
128 let local_var_value = match local_var_apikey.prefix {
129 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
130 None => local_var_key,
131 };
132 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
133 };
134 local_var_req_builder = local_var_req_builder.json(&ctr_analytics);
135
136 let local_var_req = local_var_req_builder.build()?;
137 let local_var_resp = local_var_client.execute(local_var_req).await?;
138
139 let local_var_status = local_var_resp.status();
140 let local_var_content = local_var_resp.text().await?;
141
142 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
143 serde_json::from_str(&local_var_content).map_err(Error::from)
144 } else {
145 let local_var_entity: Option<GetCtrAnalyticsError> = serde_json::from_str(&local_var_content).ok();
146 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
147 Err(Error::ResponseError(local_var_error))
148 }
149}
150
151pub async fn get_rag_analytics(configuration: &configuration::Configuration, tr_dataset: &str, rag_analytics: models::RagAnalytics) -> Result<models::RagAnalyticsResponse, Error<GetRagAnalyticsError>> {
153 let local_var_configuration = configuration;
154
155 let local_var_client = &local_var_configuration.client;
156
157 let local_var_uri_str = format!("{}/api/analytics/rag", local_var_configuration.base_path);
158 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
159
160 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
161 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
162 }
163 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
164 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
165 let local_var_key = local_var_apikey.key.clone();
166 let local_var_value = match local_var_apikey.prefix {
167 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
168 None => local_var_key,
169 };
170 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
171 };
172 local_var_req_builder = local_var_req_builder.json(&rag_analytics);
173
174 let local_var_req = local_var_req_builder.build()?;
175 let local_var_resp = local_var_client.execute(local_var_req).await?;
176
177 let local_var_status = local_var_resp.status();
178 let local_var_content = local_var_resp.text().await?;
179
180 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
181 serde_json::from_str(&local_var_content).map_err(Error::from)
182 } else {
183 let local_var_entity: Option<GetRagAnalyticsError> = serde_json::from_str(&local_var_content).ok();
184 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
185 Err(Error::ResponseError(local_var_error))
186 }
187}
188
189pub async fn get_recommendation_analytics(configuration: &configuration::Configuration, tr_dataset: &str, recommendation_analytics: models::RecommendationAnalytics) -> Result<models::RecommendationAnalyticsResponse, Error<GetRecommendationAnalyticsError>> {
191 let local_var_configuration = configuration;
192
193 let local_var_client = &local_var_configuration.client;
194
195 let local_var_uri_str = format!("{}/api/analytics/recommendations", local_var_configuration.base_path);
196 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
197
198 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
199 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
200 }
201 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
202 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
203 let local_var_key = local_var_apikey.key.clone();
204 let local_var_value = match local_var_apikey.prefix {
205 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
206 None => local_var_key,
207 };
208 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
209 };
210 local_var_req_builder = local_var_req_builder.json(&recommendation_analytics);
211
212 let local_var_req = local_var_req_builder.build()?;
213 let local_var_resp = local_var_client.execute(local_var_req).await?;
214
215 let local_var_status = local_var_resp.status();
216 let local_var_content = local_var_resp.text().await?;
217
218 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
219 serde_json::from_str(&local_var_content).map_err(Error::from)
220 } else {
221 let local_var_entity: Option<GetRecommendationAnalyticsError> = serde_json::from_str(&local_var_content).ok();
222 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
223 Err(Error::ResponseError(local_var_error))
224 }
225}
226
227pub async fn get_search_analytics(configuration: &configuration::Configuration, tr_dataset: &str, search_analytics: models::SearchAnalytics) -> Result<models::SearchAnalyticsResponse, Error<GetSearchAnalyticsError>> {
229 let local_var_configuration = configuration;
230
231 let local_var_client = &local_var_configuration.client;
232
233 let local_var_uri_str = format!("{}/api/analytics/search", local_var_configuration.base_path);
234 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
235
236 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
237 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
238 }
239 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
240 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
241 let local_var_key = local_var_apikey.key.clone();
242 let local_var_value = match local_var_apikey.prefix {
243 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
244 None => local_var_key,
245 };
246 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
247 };
248 local_var_req_builder = local_var_req_builder.json(&search_analytics);
249
250 let local_var_req = local_var_req_builder.build()?;
251 let local_var_resp = local_var_client.execute(local_var_req).await?;
252
253 let local_var_status = local_var_resp.status();
254 let local_var_content = local_var_resp.text().await?;
255
256 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
257 serde_json::from_str(&local_var_content).map_err(Error::from)
258 } else {
259 let local_var_entity: Option<GetSearchAnalyticsError> = serde_json::from_str(&local_var_content).ok();
260 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
261 Err(Error::ResponseError(local_var_error))
262 }
263}
264
265pub async fn send_ctr_data(configuration: &configuration::Configuration, tr_dataset: &str, ctr_data_request_body: models::CtrDataRequestBody) -> Result<(), Error<SendCtrDataError>> {
267 let local_var_configuration = configuration;
268
269 let local_var_client = &local_var_configuration.client;
270
271 let local_var_uri_str = format!("{}/api/analytics/ctr", local_var_configuration.base_path);
272 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
273
274 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
275 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
276 }
277 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
278 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
279 let local_var_key = local_var_apikey.key.clone();
280 let local_var_value = match local_var_apikey.prefix {
281 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
282 None => local_var_key,
283 };
284 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
285 };
286 local_var_req_builder = local_var_req_builder.json(&ctr_data_request_body);
287
288 let local_var_req = local_var_req_builder.build()?;
289 let local_var_resp = local_var_client.execute(local_var_req).await?;
290
291 let local_var_status = local_var_resp.status();
292 let local_var_content = local_var_resp.text().await?;
293
294 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
295 Ok(())
296 } else {
297 let local_var_entity: Option<SendCtrDataError> = serde_json::from_str(&local_var_content).ok();
298 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
299 Err(Error::ResponseError(local_var_error))
300 }
301}
302
303pub async fn set_query_rating(configuration: &configuration::Configuration, tr_dataset: &str, rate_query_request: models::RateQueryRequest) -> Result<(), Error<SetQueryRatingError>> {
305 let local_var_configuration = configuration;
306
307 let local_var_client = &local_var_configuration.client;
308
309 let local_var_uri_str = format!("{}/api/analytics/search", local_var_configuration.base_path);
310 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
311
312 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
313 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
314 }
315 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
316 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
317 let local_var_key = local_var_apikey.key.clone();
318 let local_var_value = match local_var_apikey.prefix {
319 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
320 None => local_var_key,
321 };
322 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
323 };
324 local_var_req_builder = local_var_req_builder.json(&rate_query_request);
325
326 let local_var_req = local_var_req_builder.build()?;
327 let local_var_resp = local_var_client.execute(local_var_req).await?;
328
329 let local_var_status = local_var_resp.status();
330 let local_var_content = local_var_resp.text().await?;
331
332 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
333 Ok(())
334 } else {
335 let local_var_entity: Option<SetQueryRatingError> = serde_json::from_str(&local_var_content).ok();
336 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
337 Err(Error::ResponseError(local_var_error))
338 }
339}
340