vapi_client/models/
response_output_message.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ResponseOutputMessage {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "content")]
21 pub content: Vec<models::ResponseOutputText>,
22 #[serde(rename = "role")]
24 pub role: RoleTrue,
25 #[serde(rename = "status")]
27 pub status: StatusTrue,
28 #[serde(rename = "type")]
30 pub r#type: TypeTrue,
31}
32
33impl ResponseOutputMessage {
34 pub fn new(
35 id: String,
36 content: Vec<models::ResponseOutputText>,
37 role: RoleTrue,
38 status: StatusTrue,
39 r#type: TypeTrue,
40 ) -> ResponseOutputMessage {
41 ResponseOutputMessage {
42 id,
43 content,
44 role,
45 status,
46 r#type,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum RoleTrue {
53 #[serde(rename = "assistant")]
54 Assistant,
55}
56
57impl Default for RoleTrue {
58 fn default() -> RoleTrue {
59 Self::Assistant
60 }
61}
62#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
64pub enum StatusTrue {
65 #[serde(rename = "in_progress")]
66 InProgress,
67 #[serde(rename = "completed")]
68 Completed,
69 #[serde(rename = "incomplete")]
70 Incomplete,
71}
72
73impl Default for StatusTrue {
74 fn default() -> StatusTrue {
75 Self::InProgress
76 }
77}
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
80pub enum TypeTrue {
81 #[serde(rename = "message")]
82 Message,
83}
84
85impl Default for TypeTrue {
86 fn default() -> TypeTrue {
87 Self::Message
88 }
89}