vapi_client/models/
hook.rs

1/*
2 * Vapi API
3 *
4 * API for building voice assistants
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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///
31#[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}