langfuse_client_base/models/
llm_connection.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
16pub struct LlmConnection {
17 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "provider")]
21 pub provider: String,
22 #[serde(rename = "adapter")]
24 pub adapter: String,
25 #[serde(rename = "displaySecretKey")]
27 pub display_secret_key: String,
28 #[serde(
30 rename = "baseURL",
31 default,
32 with = "::serde_with::rust::double_option",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub base_url: Option<Option<String>>,
36 #[serde(rename = "customModels")]
38 pub custom_models: Vec<String>,
39 #[serde(rename = "withDefaultModels")]
41 pub with_default_models: bool,
42 #[serde(rename = "extraHeaderKeys")]
44 pub extra_header_keys: Vec<String>,
45 #[serde(
47 rename = "config",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub config: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
53 #[serde(rename = "createdAt")]
54 pub created_at: String,
55 #[serde(rename = "updatedAt")]
56 pub updated_at: String,
57}
58
59impl LlmConnection {
60 pub fn new(
62 id: String,
63 provider: String,
64 adapter: String,
65 display_secret_key: String,
66 custom_models: Vec<String>,
67 with_default_models: bool,
68 extra_header_keys: Vec<String>,
69 created_at: String,
70 updated_at: String,
71 ) -> LlmConnection {
72 LlmConnection {
73 id,
74 provider,
75 adapter,
76 display_secret_key,
77 base_url: None,
78 custom_models,
79 with_default_models,
80 extra_header_keys,
81 config: None,
82 created_at,
83 updated_at,
84 }
85 }
86}