vapi-client 0.4.2

Unofficial crate for Vapi - Voice AI for developers.
Documentation
/*
 * Vapi API
 *
 * Voice AI for developers.
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AnalyticsOperation {
    /// This is the aggregation operation you want to perform.
    #[serde(rename = "operation")]
    pub operation: OperationTrue,
    /// This is the columns you want to perform the aggregation operation on.
    #[serde(rename = "column")]
    pub column: ColumnTrue,
    /// This is the alias for column name returned. Defaults to `${operation}${column}`.
    #[serde(rename = "alias", skip_serializing_if = "Option::is_none")]
    pub alias: Option<String>,
}

impl AnalyticsOperation {
    pub fn new(operation: OperationTrue, column: ColumnTrue) -> AnalyticsOperation {
        AnalyticsOperation {
            operation,
            column,
            alias: None,
        }
    }
}
/// This is the aggregation operation you want to perform.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OperationTrue {
    #[serde(rename = "sum")]
    Sum,
    #[serde(rename = "avg")]
    Avg,
    #[serde(rename = "count")]
    Count,
    #[serde(rename = "min")]
    Min,
    #[serde(rename = "max")]
    Max,
    #[serde(rename = "history")]
    History,
}

impl Default for OperationTrue {
    fn default() -> OperationTrue {
        Self::Sum
    }
}
/// This is the columns you want to perform the aggregation operation on.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ColumnTrue {
    #[serde(rename = "id")]
    Id,
    #[serde(rename = "cost")]
    Cost,
    #[serde(rename = "costBreakdown.llm")]
    CostBreakdownPeriodLlm,
    #[serde(rename = "costBreakdown.stt")]
    CostBreakdownPeriodStt,
    #[serde(rename = "costBreakdown.tts")]
    CostBreakdownPeriodTts,
    #[serde(rename = "costBreakdown.vapi")]
    CostBreakdownPeriodVapi,
    #[serde(rename = "costBreakdown.ttsCharacters")]
    CostBreakdownPeriodTtsCharacters,
    #[serde(rename = "costBreakdown.llmPromptTokens")]
    CostBreakdownPeriodLlmPromptTokens,
    #[serde(rename = "costBreakdown.llmCompletionTokens")]
    CostBreakdownPeriodLlmCompletionTokens,
    #[serde(rename = "duration")]
    Duration,
    #[serde(rename = "concurrency")]
    Concurrency,
    #[serde(rename = "minutesUsed")]
    MinutesUsed,
}

impl Default for ColumnTrue {
    fn default() -> ColumnTrue {
        Self::Id
    }
}