vapi_client/models/
trieve_knowledge_base.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct TrieveKnowledgeBase {
19 #[serde(rename = "provider")]
21 pub provider: Provider,
22 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
24 pub name: Option<String>,
25 #[serde(rename = "searchPlan", skip_serializing_if = "Option::is_none")]
27 pub search_plan: Option<models::TrieveKnowledgeBaseSearchPlan>,
28 #[serde(rename = "createPlan", skip_serializing_if = "Option::is_none")]
29 pub create_plan: Option<models::TrieveKnowledgeBaseCreatePlan>,
30 #[serde(rename = "id")]
32 pub id: String,
33 #[serde(rename = "orgId")]
35 pub org_id: String,
36}
37
38impl TrieveKnowledgeBase {
39 pub fn new(provider: Provider, id: String, org_id: String) -> TrieveKnowledgeBase {
40 TrieveKnowledgeBase {
41 provider,
42 name: None,
43 search_plan: None,
44 create_plan: None,
45 id,
46 org_id,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
52pub enum Provider {
53 #[serde(rename = "trieve")]
54 Trieve,
55}
56
57impl Default for Provider {
58 fn default() -> Provider {
59 Self::Trieve
60 }
61}