vapi_client/models/
hook.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Hook {
16 #[serde(rename = "on")]
17 pub on: On,
18 #[serde(rename = "do")]
19 pub r#do: Vec<models::SayHook>,
20}
21
22impl Hook {
23 pub fn new(on: On, r#do: Vec<models::SayHook>) -> Hook {
24 Hook {
25 on,
26 r#do,
27 }
28 }
29}
30#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
32pub enum On {
33 #[serde(rename = "task.start")]
34 TaskPeriodStart,
35 #[serde(rename = "task.output.confirmation")]
36 TaskPeriodOutputPeriodConfirmation,
37 #[serde(rename = "task.delayed")]
38 TaskPeriodDelayed,
39}
40
41impl Default for On {
42 fn default() -> On {
43 Self::TaskPeriodStart
44 }
45}
46