1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
1011use crate::models;
12use serde::{Deserialize, Serialize};
1314#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TimeRange {
16/// This is the time step for aggregations. If not provided, defaults to returning for the entire time range.
17#[serde(rename = "step", skip_serializing_if = "Option::is_none")]
18pub step: Option<StepTrue>,
19/// This is the start date for the time range. If not provided, defaults to the 7 days ago.
20#[serde(rename = "start", skip_serializing_if = "Option::is_none")]
21pub start: Option<String>,
22/// This is the end date for the time range. If not provided, defaults to now.
23#[serde(rename = "end", skip_serializing_if = "Option::is_none")]
24pub end: Option<String>,
25/// This is the timezone you want to set for the query. If not provided, defaults to UTC.
26#[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
27pub timezone: Option<String>,
28}
2930impl TimeRange {
31pub fn new() -> TimeRange {
32 TimeRange {
33 step: None,
34 start: None,
35 end: None,
36 timezone: None,
37 }
38 }
39}
40/// This is the time step for aggregations. If not provided, defaults to returning for the entire time range.
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum StepTrue {
43#[serde(rename = "second")]
44Second,
45#[serde(rename = "minute")]
46Minute,
47#[serde(rename = "hour")]
48Hour,
49#[serde(rename = "day")]
50Day,
51#[serde(rename = "week")]
52Week,
53#[serde(rename = "month")]
54Month,
55#[serde(rename = "quarter")]
56Quarter,
57#[serde(rename = "year")]
58Year,
59#[serde(rename = "decade")]
60Decade,
61#[serde(rename = "century")]
62Century,
63#[serde(rename = "millennium")]
64Millennium,
65}
6667impl Default for StepTrue {
68fn default() -> StepTrue {
69Self::Second
70 }
71}