vapi_client/models/
create_tool_template_dto.rs1use 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 #[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#[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#[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#[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}