1#![allow(
14 missing_docs,
15 clippy::doc_lazy_continuation,
16 clippy::doc_overindented_list_items
17)]
18
19use serde::{Deserialize, Serialize};
20
21#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct AipErrorBodyDto {
24 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub code: Option<String>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub message: Option<String>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub details: Option<serde_json::Value>,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub resolution: Option<String>,
40}
41
42#[derive(Debug, Clone, Default, Serialize, Deserialize)]
44pub struct AipErrorResponseDto {
45 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub error: Option<AipErrorBodyDto>,
50}
51
52#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54pub struct GetAccessTokenBodyDto {
55 #[serde(rename = "clientId")]
58 pub client_id: String,
59 #[serde(rename = "clientSecret")]
62 pub client_secret: String,
63 #[serde(rename = "grantType")]
67 pub grant_type: String,
68 #[serde(default, skip_serializing_if = "Option::is_none")]
71 pub code: Option<String>,
72 #[serde(
74 rename = "refreshToken",
75 default,
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub refresh_token: Option<String>,
79 #[serde(rename = "userType", default, skip_serializing_if = "Option::is_none")]
82 pub user_type: Option<String>,
83 #[serde(
85 rename = "redirectUri",
86 default,
87 skip_serializing_if = "Option::is_none"
88 )]
89 pub redirect_uri: Option<String>,
90}
91
92#[derive(Debug, Clone, Default, Serialize, Deserialize)]
94pub struct GetAccessTokenSuccessfulResponseDto {
95 #[serde(
97 rename = "accessToken",
98 default,
99 skip_serializing_if = "Option::is_none"
100 )]
101 pub access_token: Option<String>,
102 #[serde(rename = "tokenType", default, skip_serializing_if = "Option::is_none")]
104 pub token_type: Option<String>,
105 #[serde(rename = "expiresIn", default, skip_serializing_if = "Option::is_none")]
107 pub expires_in: Option<f64>,
108 #[serde(
110 rename = "refreshToken",
111 default,
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub refresh_token: Option<String>,
115 #[serde(default, skip_serializing_if = "Option::is_none")]
117 pub scope: Option<String>,
118 #[serde(rename = "userType", default, skip_serializing_if = "Option::is_none")]
120 pub user_type: Option<String>,
121 #[serde(
123 rename = "locationId",
124 default,
125 skip_serializing_if = "Option::is_none"
126 )]
127 pub location_id: Option<String>,
128 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
130 pub company_id: Option<String>,
131 #[serde(
133 rename = "approvedLocations",
134 default,
135 skip_serializing_if = "Vec::is_empty"
136 )]
137 pub approved_locations: Vec<String>,
138 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
142 pub user_id: Option<String>,
143 #[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
145 pub plan_id: Option<String>,
146 #[serde(
148 rename = "isBulkInstallation",
149 default,
150 skip_serializing_if = "Option::is_none"
151 )]
152 pub is_bulk_installation: Option<bool>,
153 #[serde(
156 rename = "installToFutureLocations",
157 default,
158 skip_serializing_if = "Option::is_none"
159 )]
160 pub install_to_future_locations: Option<bool>,
161 #[serde(
164 rename = "approveAllLocations",
165 default,
166 skip_serializing_if = "Option::is_none"
167 )]
168 pub approve_all_locations: Option<bool>,
169}
170
171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
173pub struct GetInstalledLocationsSuccessfulResponseDto {
174 #[serde(default, skip_serializing_if = "Vec::is_empty")]
176 pub locations: Vec<InstalledLocationSchema>,
177 #[serde(default, skip_serializing_if = "Option::is_none")]
179 pub count: Option<f64>,
180 #[serde(
182 rename = "installToFutureLocations",
183 default,
184 skip_serializing_if = "Option::is_none"
185 )]
186 pub install_to_future_locations: Option<bool>,
187}
188
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191pub struct GetInstalledLocationsV3SuccessfulResponseDto {
192 #[serde(default, skip_serializing_if = "Vec::is_empty")]
196 pub items: Vec<InstalledLocationSchema>,
197 #[serde(default, skip_serializing_if = "Option::is_none")]
201 pub pagination: Option<V3PaginationMetaDto>,
202 #[serde(default, skip_serializing_if = "Option::is_none")]
204 pub metadata: Option<V3InstalledLocationsListMetadataDto>,
205 #[serde(
207 rename = "installToFutureLocations",
208 default,
209 skip_serializing_if = "Option::is_none"
210 )]
211 pub install_to_future_locations: Option<bool>,
212}
213
214#[derive(Debug, Clone, Default, Serialize, Deserialize)]
216pub struct GetLocationAccessCodeBodyDto {
217 #[serde(rename = "companyId")]
220 pub company_id: String,
221 #[serde(rename = "locationId")]
224 pub location_id: String,
225}
226
227#[derive(Debug, Clone, Default, Serialize, Deserialize)]
229pub struct GetLocationAccessTokenSuccessfulResponseDto {
230 #[serde(default, skip_serializing_if = "Option::is_none")]
233 pub access_token: Option<String>,
234 #[serde(default, skip_serializing_if = "Option::is_none")]
236 pub token_type: Option<String>,
237 #[serde(default, skip_serializing_if = "Option::is_none")]
239 pub expires_in: Option<f64>,
240 #[serde(default, skip_serializing_if = "Option::is_none")]
242 pub scope: Option<String>,
243 #[serde(
245 rename = "locationId",
246 default,
247 skip_serializing_if = "Option::is_none"
248 )]
249 pub location_id: Option<String>,
250 #[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
252 pub plan_id: Option<String>,
253 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
257 pub user_id: Option<String>,
258 #[serde(rename = "appId", default, skip_serializing_if = "Option::is_none")]
260 pub app_id: Option<String>,
261 #[serde(rename = "versionId", default, skip_serializing_if = "Option::is_none")]
263 pub version_id: Option<String>,
264 #[serde(default, skip_serializing_if = "Option::is_none")]
266 pub refresh_token: Option<String>,
267}
268
269#[derive(Debug, Clone, Default, Serialize, Deserialize)]
271pub struct GetLocationAccessTokenV3SuccessfulResponseDto {
272 #[serde(
275 rename = "accessToken",
276 default,
277 skip_serializing_if = "Option::is_none"
278 )]
279 pub access_token: Option<String>,
280 #[serde(rename = "tokenType", default, skip_serializing_if = "Option::is_none")]
282 pub token_type: Option<String>,
283 #[serde(rename = "expiresIn", default, skip_serializing_if = "Option::is_none")]
285 pub expires_in: Option<f64>,
286 #[serde(default, skip_serializing_if = "Option::is_none")]
288 pub scope: Option<String>,
289 #[serde(
291 rename = "locationId",
292 default,
293 skip_serializing_if = "Option::is_none"
294 )]
295 pub location_id: Option<String>,
296 #[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
298 pub plan_id: Option<String>,
299 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
303 pub user_id: Option<String>,
304 #[serde(rename = "appId", default, skip_serializing_if = "Option::is_none")]
306 pub app_id: Option<String>,
307 #[serde(rename = "versionId", default, skip_serializing_if = "Option::is_none")]
309 pub version_id: Option<String>,
310 #[serde(
312 rename = "refreshToken",
313 default,
314 skip_serializing_if = "Option::is_none"
315 )]
316 pub refresh_token: Option<String>,
317}
318
319#[derive(Debug, Clone, Default, Serialize, Deserialize)]
321pub struct InstalledLocationSchema {
322 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
326 pub id: Option<String>,
327 #[serde(default, skip_serializing_if = "Option::is_none")]
331 pub name: Option<String>,
332 #[serde(default, skip_serializing_if = "Option::is_none")]
336 pub address: Option<String>,
337 #[serde(
339 rename = "isInstalled",
340 default,
341 skip_serializing_if = "Option::is_none"
342 )]
343 pub is_installed: Option<bool>,
344 #[serde(rename = "versionId", default, skip_serializing_if = "Option::is_none")]
346 pub version_id: Option<String>,
347 #[serde(
350 rename = "installedAt",
351 default,
352 skip_serializing_if = "Option::is_none"
353 )]
354 pub installed_at: Option<String>,
355}
356
357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
359pub struct V3InstalledLocationsListMetadataDto {
360 #[serde(
362 rename = "filterApplied",
363 default,
364 skip_serializing_if = "Option::is_none"
365 )]
366 pub filter_applied: Option<serde_json::Value>,
367 #[serde(
369 rename = "sortApplied",
370 default,
371 skip_serializing_if = "Option::is_none"
372 )]
373 pub sort_applied: Option<serde_json::Value>,
374}
375
376#[derive(Debug, Clone, Default, Serialize, Deserialize)]
378pub struct V3PaginationMetaDto {
379 #[serde(
381 rename = "totalRecords",
382 default,
383 skip_serializing_if = "Option::is_none"
384 )]
385 pub total_records: Option<f64>,
386 #[serde(
390 rename = "hasNextPage",
391 default,
392 skip_serializing_if = "Option::is_none"
393 )]
394 pub has_next_page: Option<bool>,
395 #[serde(
399 rename = "hasPrevPage",
400 default,
401 skip_serializing_if = "Option::is_none"
402 )]
403 pub has_prev_page: Option<bool>,
404 #[serde(
406 rename = "nextPageToken",
407 default,
408 skip_serializing_if = "Option::is_none"
409 )]
410 pub next_page_token: Option<String>,
411 #[serde(
413 rename = "prevPageToken",
414 default,
415 skip_serializing_if = "Option::is_none"
416 )]
417 pub prev_page_token: Option<String>,
418 #[serde(
422 rename = "currentPageSize",
423 default,
424 skip_serializing_if = "Option::is_none"
425 )]
426 pub current_page_size: Option<f64>,
427 #[serde(
429 rename = "estimatedTotalRecords",
430 default,
431 skip_serializing_if = "Option::is_none"
432 )]
433 pub estimated_total_records: Option<f64>,
434}