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