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