vapi_client/models/
update_tool_template_dto.rs

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