vapi_client/models/
time_range.rs1use serde::{Deserialize, Serialize};
12use utoipa::ToSchema;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, ToSchema)]
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, ToSchema)]
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}