vapi_client/models/
create_tool_template_dto.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};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateToolTemplateDto {
17    #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
18    pub details: Option<models::CreateToolTemplateDtoDetails>,
19    #[serde(rename = "providerDetails", skip_serializing_if = "Option::is_none")]
20    pub provider_details: Option<models::CreateToolTemplateDtoProviderDetails>,
21    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
22    pub metadata: Option<models::ToolTemplateMetadata>,
23    #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
24    pub visibility: Option<Visibility>,
25    #[serde(rename = "type")]
26    pub r#type: Type,
27    /// The name of the template. This is just for your own reference.
28    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
29    pub name: Option<String>,
30    #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
31    pub provider: Option<Provider>,
32}
33
34impl CreateToolTemplateDto {
35    pub fn new(r#type: Type) -> CreateToolTemplateDto {
36        CreateToolTemplateDto {
37            details: None,
38            provider_details: None,
39            metadata: None,
40            visibility: None,
41            r#type,
42            name: None,
43            provider: None,
44        }
45    }
46}
47///
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
49pub enum Visibility {
50    #[serde(rename = "public")]
51    Public,
52    #[serde(rename = "private")]
53    Private,
54}
55
56impl Default for Visibility {
57    fn default() -> Visibility {
58        Self::Public
59    }
60}
61///
62#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum Type {
64    #[serde(rename = "tool")]
65    Tool,
66}
67
68impl Default for Type {
69    fn default() -> Type {
70        Self::Tool
71    }
72}
73///
74#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum Provider {
76    #[serde(rename = "make")]
77    Make,
78    #[serde(rename = "gohighlevel")]
79    Gohighlevel,
80    #[serde(rename = "function")]
81    Function,
82}
83
84impl Default for Provider {
85    fn default() -> Provider {
86        Self::Make
87    }
88}