vapi_client/models/
time_range.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TimeRange {
17 #[serde(rename = "step", skip_serializing_if = "Option::is_none")]
19 pub step: Option<Step>,
20 #[serde(rename = "start", skip_serializing_if = "Option::is_none")]
22 pub start: Option<String>,
23 #[serde(rename = "end", skip_serializing_if = "Option::is_none")]
25 pub end: Option<String>,
26 #[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
28 pub timezone: Option<String>,
29}
30
31impl TimeRange {
32 pub fn new() -> TimeRange {
33 TimeRange {
34 step: None,
35 start: None,
36 end: None,
37 timezone: None,
38 }
39 }
40}
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
43pub enum Step {
44 #[serde(rename = "second")]
45 Second,
46 #[serde(rename = "minute")]
47 Minute,
48 #[serde(rename = "hour")]
49 Hour,
50 #[serde(rename = "day")]
51 Day,
52 #[serde(rename = "week")]
53 Week,
54 #[serde(rename = "month")]
55 Month,
56 #[serde(rename = "quarter")]
57 Quarter,
58 #[serde(rename = "year")]
59 Year,
60 #[serde(rename = "decade")]
61 Decade,
62 #[serde(rename = "century")]
63 Century,
64 #[serde(rename = "millennium")]
65 Millennium,
66}
67
68impl Default for Step {
69 fn default() -> Step {
70 Self::Second
71 }
72}