vapi_client/models/
open_ai_function_parameters.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OpenAiFunctionParameters {
17 #[serde(rename = "type")]
19 pub r#type: Type,
20 #[serde(rename = "properties")]
22 pub properties: std::collections::HashMap<String, models::JsonSchema>,
23 #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
25 pub required: Option<Vec<String>>,
26}
27
28impl OpenAiFunctionParameters {
29 pub fn new(
30 r#type: Type,
31 properties: std::collections::HashMap<String, models::JsonSchema>,
32 ) -> OpenAiFunctionParameters {
33 OpenAiFunctionParameters {
34 r#type,
35 properties,
36 required: None,
37 }
38 }
39}
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum Type {
43 #[serde(rename = "object")]
44 Object,
45}
46
47impl Default for Type {
48 fn default() -> Type {
49 Self::Object
50 }
51}