vapi_client/models/
analytics_operation.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct AnalyticsOperation {
19 #[serde(rename = "operation")]
21 pub operation: Operation,
22 #[serde(rename = "column")]
24 pub column: Column,
25 #[serde(rename = "alias", skip_serializing_if = "Option::is_none")]
27 pub alias: Option<String>,
28}
29
30impl AnalyticsOperation {
31 pub fn new(operation: Operation, column: Column) -> AnalyticsOperation {
32 AnalyticsOperation {
33 operation,
34 column,
35 alias: None,
36 }
37 }
38}
39#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
41pub enum Operation {
42 #[serde(rename = "sum")]
43 Sum,
44 #[serde(rename = "avg")]
45 Avg,
46 #[serde(rename = "count")]
47 Count,
48 #[serde(rename = "min")]
49 Min,
50 #[serde(rename = "max")]
51 Max,
52 #[serde(rename = "history")]
53 History,
54}
55
56impl Default for Operation {
57 fn default() -> Operation {
58 Self::Sum
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
63pub enum Column {
64 #[serde(rename = "id")]
65 Id,
66 #[serde(rename = "cost")]
67 Cost,
68 #[serde(rename = "costBreakdown.llm")]
69 CostBreakdownPeriodLlm,
70 #[serde(rename = "costBreakdown.stt")]
71 CostBreakdownPeriodStt,
72 #[serde(rename = "costBreakdown.tts")]
73 CostBreakdownPeriodTts,
74 #[serde(rename = "costBreakdown.vapi")]
75 CostBreakdownPeriodVapi,
76 #[serde(rename = "costBreakdown.ttsCharacters")]
77 CostBreakdownPeriodTtsCharacters,
78 #[serde(rename = "costBreakdown.llmPromptTokens")]
79 CostBreakdownPeriodLlmPromptTokens,
80 #[serde(rename = "costBreakdown.llmCompletionTokens")]
81 CostBreakdownPeriodLlmCompletionTokens,
82 #[serde(rename = "duration")]
83 Duration,
84 #[serde(rename = "concurrency")]
85 Concurrency,
86 #[serde(rename = "minutesUsed")]
87 MinutesUsed,
88}
89
90impl Default for Column {
91 fn default() -> Column {
92 Self::Id
93 }
94}