vapi_client/models/
client_inbound_message_message.rs1use serde::{Deserialize, Serialize};
12use utoipa::ToSchema;
13
14
15use crate::models;
16
17#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ToSchema)]
20#[serde(untagged)]
21pub enum ClientInboundMessageMessage {
22 ClientInboundMessageAddMessage(models::ClientInboundMessageAddMessage),
23 ClientInboundMessageControl(models::ClientInboundMessageControl),
24 ClientInboundMessageSay(models::ClientInboundMessageSay),
25 ClientInboundMessageEndCall(models::ClientInboundMessageEndCall),
26 ClientInboundMessageTransfer(models::ClientInboundMessageTransfer),
27}
28
29impl Default for ClientInboundMessageMessage {
30 fn default() -> Self {
31 Self::ClientInboundMessageAddMessage(Default::default())
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, ToSchema)]
36pub enum Type {
37 #[serde(rename = "add-message")]
38 AddMessage,
39 #[serde(rename = "control")]
40 Control,
41 #[serde(rename = "say")]
42 Say,
43 #[serde(rename = "end-call")]
44 EndCall,
45 #[serde(rename = "transfer")]
46 Transfer,
47}
48
49impl Default for Type {
50 fn default() -> Type {
51 Self::AddMessage
52 }
53}
54#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, ToSchema)]
56pub enum Control {
57 #[serde(rename = "mute-assistant")]
58 MuteAssistant,
59 #[serde(rename = "unmute-assistant")]
60 UnmuteAssistant,
61 #[serde(rename = "say-first-message")]
62 SayFirstMessage,
63}
64
65impl Default for Control {
66 fn default() -> Control {
67 Self::MuteAssistant
68 }
69}