proxycurl_linkedin_rs/apis/
search_api.rs1use reqwest;
12
13use super::{configuration, Error};
14use crate::apis::ResponseContent;
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum CompanySearchEndpointError {
20 Status400(),
21 Status401(),
22 Status403(),
23 Status404(),
24 Status429(),
25 Status500(),
26 Status503(),
27 UnknownValue(serde_json::Value),
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize)]
32#[serde(untagged)]
33pub enum PersonSearchEndpointError {
34 Status400(),
35 Status401(),
36 Status403(),
37 Status404(),
38 Status429(),
39 Status500(),
40 Status503(),
41 UnknownValue(serde_json::Value),
42}
43
44#[allow(clippy::too_many_arguments)]
46pub async fn company_search_endpoint(
47 configuration: &configuration::Configuration,
48 enrich_profiles: Option<&str>,
49 page_size: Option<&str>,
50 founded_before_year: Option<&str>,
51 founded_after_year: Option<&str>,
52 description: Option<&str>,
53 employee_count_min: Option<&str>,
54 employee_count_max: Option<&str>,
55 industry: Option<&str>,
56 name: Option<&str>,
57 follower_count_max: Option<&str>,
58 follower_count_min: Option<&str>,
59 r#type: Option<&str>,
60 city: Option<&str>,
61 region: Option<&str>,
62 country: Option<&str>,
63) -> Result<crate::models::CompanySearchResult, Error<CompanySearchEndpointError>> {
64 let local_var_configuration = configuration;
65
66 let local_var_client = &local_var_configuration.client;
67
68 let local_var_uri_str = format!("{}/api/search/company", local_var_configuration.base_path);
69 let mut local_var_req_builder =
70 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
71
72 if let Some(ref local_var_str) = enrich_profiles {
73 local_var_req_builder =
74 local_var_req_builder.query(&[("enrich_profiles", &local_var_str.to_string())]);
75 }
76 if let Some(ref local_var_str) = page_size {
77 local_var_req_builder =
78 local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
79 }
80 if let Some(ref local_var_str) = founded_before_year {
81 local_var_req_builder =
82 local_var_req_builder.query(&[("founded_before_year", &local_var_str.to_string())]);
83 }
84 if let Some(ref local_var_str) = founded_after_year {
85 local_var_req_builder =
86 local_var_req_builder.query(&[("founded_after_year", &local_var_str.to_string())]);
87 }
88 if let Some(ref local_var_str) = description {
89 local_var_req_builder =
90 local_var_req_builder.query(&[("description", &local_var_str.to_string())]);
91 }
92 if let Some(ref local_var_str) = employee_count_min {
93 local_var_req_builder =
94 local_var_req_builder.query(&[("employee_count_min", &local_var_str.to_string())]);
95 }
96 if let Some(ref local_var_str) = employee_count_max {
97 local_var_req_builder =
98 local_var_req_builder.query(&[("employee_count_max", &local_var_str.to_string())]);
99 }
100 if let Some(ref local_var_str) = industry {
101 local_var_req_builder =
102 local_var_req_builder.query(&[("industry", &local_var_str.to_string())]);
103 }
104 if let Some(ref local_var_str) = name {
105 local_var_req_builder =
106 local_var_req_builder.query(&[("name", &local_var_str.to_string())]);
107 }
108 if let Some(ref local_var_str) = follower_count_max {
109 local_var_req_builder =
110 local_var_req_builder.query(&[("follower_count_max", &local_var_str.to_string())]);
111 }
112 if let Some(ref local_var_str) = follower_count_min {
113 local_var_req_builder =
114 local_var_req_builder.query(&[("follower_count_min", &local_var_str.to_string())]);
115 }
116 if let Some(ref local_var_str) = r#type {
117 local_var_req_builder =
118 local_var_req_builder.query(&[("type", &local_var_str.to_string())]);
119 }
120 if let Some(ref local_var_str) = city {
121 local_var_req_builder =
122 local_var_req_builder.query(&[("city", &local_var_str.to_string())]);
123 }
124 if let Some(ref local_var_str) = region {
125 local_var_req_builder =
126 local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
127 }
128 if let Some(ref local_var_str) = country {
129 local_var_req_builder =
130 local_var_req_builder.query(&[("country", &local_var_str.to_string())]);
131 }
132 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
133 local_var_req_builder =
134 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
135 }
136 if let Some(ref local_var_token) = local_var_configuration.api_key {
137 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
138 };
139
140 let local_var_req = local_var_req_builder.build()?;
141 let local_var_resp = local_var_client.execute(local_var_req).await?;
142
143 let local_var_status = local_var_resp.status();
144 let local_var_content = local_var_resp.text().await?;
145
146 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
147 serde_json::from_str(&local_var_content).map_err(Error::from)
148 } else {
149 let local_var_entity: Option<CompanySearchEndpointError> =
150 serde_json::from_str(&local_var_content).ok();
151 let local_var_error = ResponseContent {
152 status: local_var_status,
153 content: local_var_content,
154 entity: local_var_entity,
155 };
156 Err(Error::ResponseError(local_var_error))
157 }
158}
159
160#[allow(clippy::too_many_arguments)]
162pub async fn person_search_endpoint(
163 configuration: &configuration::Configuration,
164 enrich_profiles: Option<&str>,
165 page_size: Option<&str>,
166 summary: Option<&str>,
167 headline: Option<&str>,
168 city: Option<&str>,
169 region: Option<&str>,
170 country: Option<&str>,
171 languages: Option<&str>,
172 linkedin_groups: Option<&str>,
173 past_company_name: Option<&str>,
174 current_company_name: Option<&str>,
175 past_job_description: Option<&str>,
176 current_job_description: Option<&str>,
177 past_company_linkedin_profile_url: Option<&str>,
178 current_company_linkedin_profile_url: Option<&str>,
179 current_role_before: Option<&str>,
180 current_role_after: Option<&str>,
181 past_role_title: Option<&str>,
182 current_role_title: Option<&str>,
183 education_school_linkedin_profile_url: Option<&str>,
184 education_school_name: Option<&str>,
185 education_degree_name: Option<&str>,
186 education_field_of_study: Option<&str>,
187 last_name: Option<&str>,
188 first_name: Option<&str>,
189) -> Result<crate::models::PersonSearchResult, Error<PersonSearchEndpointError>> {
190 let local_var_configuration = configuration;
191
192 let local_var_client = &local_var_configuration.client;
193
194 let local_var_uri_str = format!("{}/api/search/person/", local_var_configuration.base_path);
195 let mut local_var_req_builder =
196 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
197
198 if let Some(ref local_var_str) = enrich_profiles {
199 local_var_req_builder =
200 local_var_req_builder.query(&[("enrich_profiles", &local_var_str.to_string())]);
201 }
202 if let Some(ref local_var_str) = page_size {
203 local_var_req_builder =
204 local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
205 }
206 if let Some(ref local_var_str) = summary {
207 local_var_req_builder =
208 local_var_req_builder.query(&[("summary", &local_var_str.to_string())]);
209 }
210 if let Some(ref local_var_str) = headline {
211 local_var_req_builder =
212 local_var_req_builder.query(&[("headline", &local_var_str.to_string())]);
213 }
214 if let Some(ref local_var_str) = city {
215 local_var_req_builder =
216 local_var_req_builder.query(&[("city", &local_var_str.to_string())]);
217 }
218 if let Some(ref local_var_str) = region {
219 local_var_req_builder =
220 local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
221 }
222 if let Some(ref local_var_str) = country {
223 local_var_req_builder =
224 local_var_req_builder.query(&[("country", &local_var_str.to_string())]);
225 }
226 if let Some(ref local_var_str) = languages {
227 local_var_req_builder =
228 local_var_req_builder.query(&[("languages", &local_var_str.to_string())]);
229 }
230 if let Some(ref local_var_str) = linkedin_groups {
231 local_var_req_builder =
232 local_var_req_builder.query(&[("linkedin_groups", &local_var_str.to_string())]);
233 }
234 if let Some(ref local_var_str) = past_company_name {
235 local_var_req_builder =
236 local_var_req_builder.query(&[("past_company_name", &local_var_str.to_string())]);
237 }
238 if let Some(ref local_var_str) = current_company_name {
239 local_var_req_builder =
240 local_var_req_builder.query(&[("current_company_name", &local_var_str.to_string())]);
241 }
242 if let Some(ref local_var_str) = past_job_description {
243 local_var_req_builder =
244 local_var_req_builder.query(&[("past_job_description", &local_var_str.to_string())]);
245 }
246 if let Some(ref local_var_str) = current_job_description {
247 local_var_req_builder =
248 local_var_req_builder.query(&[("current_job_description", &local_var_str.to_string())]);
249 }
250 if let Some(ref local_var_str) = past_company_linkedin_profile_url {
251 local_var_req_builder = local_var_req_builder.query(&[(
252 "past_company_linkedin_profile_url",
253 &local_var_str.to_string(),
254 )]);
255 }
256 if let Some(ref local_var_str) = current_company_linkedin_profile_url {
257 local_var_req_builder = local_var_req_builder.query(&[(
258 "current_company_linkedin_profile_url",
259 &local_var_str.to_string(),
260 )]);
261 }
262 if let Some(ref local_var_str) = current_role_before {
263 local_var_req_builder =
264 local_var_req_builder.query(&[("current_role_before", &local_var_str.to_string())]);
265 }
266 if let Some(ref local_var_str) = current_role_after {
267 local_var_req_builder =
268 local_var_req_builder.query(&[("current_role_after", &local_var_str.to_string())]);
269 }
270 if let Some(ref local_var_str) = past_role_title {
271 local_var_req_builder =
272 local_var_req_builder.query(&[("past_role_title", &local_var_str.to_string())]);
273 }
274 if let Some(ref local_var_str) = current_role_title {
275 local_var_req_builder =
276 local_var_req_builder.query(&[("current_role_title", &local_var_str.to_string())]);
277 }
278 if let Some(ref local_var_str) = education_school_linkedin_profile_url {
279 local_var_req_builder = local_var_req_builder.query(&[(
280 "education_school_linkedin_profile_url",
281 &local_var_str.to_string(),
282 )]);
283 }
284 if let Some(ref local_var_str) = education_school_name {
285 local_var_req_builder =
286 local_var_req_builder.query(&[("education_school_name", &local_var_str.to_string())]);
287 }
288 if let Some(ref local_var_str) = education_degree_name {
289 local_var_req_builder =
290 local_var_req_builder.query(&[("education_degree_name", &local_var_str.to_string())]);
291 }
292 if let Some(ref local_var_str) = education_field_of_study {
293 local_var_req_builder = local_var_req_builder
294 .query(&[("education_field_of_study", &local_var_str.to_string())]);
295 }
296 if let Some(ref local_var_str) = last_name {
297 local_var_req_builder =
298 local_var_req_builder.query(&[("last_name", &local_var_str.to_string())]);
299 }
300 if let Some(ref local_var_str) = first_name {
301 local_var_req_builder =
302 local_var_req_builder.query(&[("first_name", &local_var_str.to_string())]);
303 }
304 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
305 local_var_req_builder =
306 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
307 }
308 if let Some(ref local_var_token) = local_var_configuration.api_key {
309 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
310 };
311
312 let local_var_req = local_var_req_builder.build()?;
313 let local_var_resp = local_var_client.execute(local_var_req).await?;
314
315 let local_var_status = local_var_resp.status();
316 let local_var_content = local_var_resp.text().await?;
317
318 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
319 serde_json::from_str(&local_var_content).map_err(Error::from)
320 } else {
321 let local_var_entity: Option<PersonSearchEndpointError> =
322 serde_json::from_str(&local_var_content).ok();
323 let local_var_error = ResponseContent {
324 status: local_var_status,
325 content: local_var_content,
326 entity: local_var_entity,
327 };
328 Err(Error::ResponseError(local_var_error))
329 }
330}