vapi_client/models/
response_object.rs

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 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ResponseObject {
16    /// Unique identifier for this Response
17    #[serde(rename = "id")]
18    pub id: String,
19    /// The object type
20    #[serde(rename = "object")]
21    pub object: ObjectTrue,
22    /// Unix timestamp (in seconds) of when this Response was created
23    #[serde(rename = "created_at")]
24    pub created_at: f64,
25    /// Status of the response
26    #[serde(rename = "status")]
27    pub status: StatusTrue,
28    /// Error message if the response failed
29    #[serde(
30        rename = "error",
31        default,
32        with = "::serde_with::rust::double_option",
33        skip_serializing_if = "Option::is_none"
34    )]
35    pub error: Option<Option<String>>,
36    /// Output messages from the model
37    #[serde(rename = "output")]
38    pub output: Vec<models::ResponseOutputMessage>,
39}
40
41impl ResponseObject {
42    pub fn new(
43        id: String,
44        object: ObjectTrue,
45        created_at: f64,
46        status: StatusTrue,
47        output: Vec<models::ResponseOutputMessage>,
48    ) -> ResponseObject {
49        ResponseObject {
50            id,
51            object,
52            created_at,
53            status,
54            error: None,
55            output,
56        }
57    }
58}
59/// The object type
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum ObjectTrue {
62    #[serde(rename = "response")]
63    Response,
64}
65
66impl Default for ObjectTrue {
67    fn default() -> ObjectTrue {
68        Self::Response
69    }
70}
71/// Status of the response
72#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
73pub enum StatusTrue {
74    #[serde(rename = "completed")]
75    Completed,
76    #[serde(rename = "failed")]
77    Failed,
78    #[serde(rename = "in_progress")]
79    InProgress,
80    #[serde(rename = "incomplete")]
81    Incomplete,
82}
83
84impl Default for StatusTrue {
85    fn default() -> StatusTrue {
86        Self::Completed
87    }
88}