langfuse_client_base/models/
create_prompt_request_one_of.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreatePromptRequestOneOf {
16 #[serde(rename = "name")]
17 pub name: String,
18 #[serde(rename = "prompt")]
19 pub prompt: Vec<models::ChatMessageWithPlaceholders>,
20 #[serde(
21 rename = "config",
22 default,
23 with = "::serde_with::rust::double_option",
24 skip_serializing_if = "Option::is_none"
25 )]
26 pub config: Option<Option<serde_json::Value>>,
27 #[serde(
29 rename = "labels",
30 default,
31 with = "::serde_with::rust::double_option",
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub labels: Option<Option<Vec<String>>>,
35 #[serde(
37 rename = "tags",
38 default,
39 with = "::serde_with::rust::double_option",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub tags: Option<Option<Vec<String>>>,
43 #[serde(
45 rename = "commitMessage",
46 default,
47 with = "::serde_with::rust::double_option",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub commit_message: Option<Option<String>>,
51 #[serde(rename = "type")]
52 pub r#type: Type,
53}
54
55impl CreatePromptRequestOneOf {
56 pub fn new(
57 name: String,
58 prompt: Vec<models::ChatMessageWithPlaceholders>,
59 r#type: Type,
60 ) -> CreatePromptRequestOneOf {
61 CreatePromptRequestOneOf {
62 name,
63 prompt,
64 config: None,
65 labels: None,
66 tags: None,
67 commit_message: None,
68 r#type,
69 }
70 }
71}
72#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
74pub enum Type {
75 #[serde(rename = "chat")]
76 Chat,
77}
78
79impl Default for Type {
80 fn default() -> Type {
81 Self::Chat
82 }
83}