vapi_client/models/
hook.rs1use serde::{Deserialize, Serialize};
12use utoipa::ToSchema;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, ToSchema)]
18pub struct Hook {
19 #[serde(rename = "on")]
20 pub on: On,
21 #[serde(rename = "do")]
22 pub r#do: Vec<models::SayHook>,
23}
24
25impl Hook {
26 pub fn new(on: On, r#do: Vec<models::SayHook>) -> Hook {
27 Hook { on, r#do }
28 }
29}
30#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, ToSchema)]
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}