highlevel_api/apis/surveys/
types.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct Survey {
6 pub id: String,
7 pub name: String,
8 pub location_id: String,
9 pub date_added: Option<String>,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct GetSurveysResponse {
14 pub surveys: Vec<Survey>,
15 pub total: Option<u64>,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct GetSurveySubmissionsParams {
21 pub location_id: String,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub survey_id: Option<String>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub page: Option<u32>,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub limit: Option<u32>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub q: Option<String>,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub start_at: Option<String>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub end_at: Option<String>,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct SurveySubmission {
39 pub id: String,
40 pub survey_id: String,
41 pub location_id: String,
42 pub contact_id: Option<String>,
43 pub date_added: Option<String>,
44 pub others: Option<serde_json::Value>,
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize)]
48pub struct GetSurveySubmissionsResponse {
49 pub submissions: Vec<SurveySubmission>,
50 pub total: Option<u64>,
51 pub page: Option<u32>,
52 pub page_count: Option<u32>,
53}