Skip to main content

highlevel_api/apis/surveys/
types.rs

1use 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}