langfuse_client_base/models/
code_evaluator_1.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct CodeEvaluator1 {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "name")]
21 pub name: String,
22 #[serde(rename = "description", deserialize_with = "Option::deserialize")]
24 pub description: Option<String>,
25 #[serde(rename = "createdBy")]
26 pub created_by: Box<models::Creator>,
27 #[serde(rename = "status")]
28 pub status: models::EvaluatorStatus,
29 #[serde(rename = "pausedAt", deserialize_with = "Option::deserialize")]
31 pub paused_at: Option<chrono::DateTime<chrono::FixedOffset>>,
32 #[serde(rename = "pausedReason", deserialize_with = "Option::deserialize")]
34 pub paused_reason: Option<String>,
35 #[serde(rename = "pausedMessage", deserialize_with = "Option::deserialize")]
37 pub paused_message: Option<String>,
38 #[serde(rename = "evaluationRuleAssignments")]
40 pub evaluation_rule_assignments: Vec<models::EvaluationRuleAssignment>,
41 #[serde(rename = "createdAt")]
43 pub created_at: chrono::DateTime<chrono::FixedOffset>,
44 #[serde(rename = "updatedAt")]
46 pub updated_at: chrono::DateTime<chrono::FixedOffset>,
47 #[serde(rename = "versionId")]
49 pub version_id: String,
50 #[serde(rename = "version")]
52 pub version: i32,
53 #[serde(rename = "versionCreatedAt")]
55 pub version_created_at: chrono::DateTime<chrono::FixedOffset>,
56 #[serde(rename = "versionCreatedBy")]
57 pub version_created_by: Box<models::Creator>,
58 #[serde(rename = "type")]
59 pub r#type: Type,
60 #[serde(rename = "sourceCode")]
62 pub source_code: String,
63 #[serde(rename = "sourceCodeLanguage")]
64 pub source_code_language: models::CodeEvaluatorSourceCodeLanguage,
65}
66
67impl CodeEvaluator1 {
68 pub fn new(
69 id: String,
70 name: String,
71 description: Option<String>,
72 created_by: models::Creator,
73 status: models::EvaluatorStatus,
74 paused_at: Option<chrono::DateTime<chrono::FixedOffset>>,
75 paused_reason: Option<String>,
76 paused_message: Option<String>,
77 evaluation_rule_assignments: Vec<models::EvaluationRuleAssignment>,
78 created_at: chrono::DateTime<chrono::FixedOffset>,
79 updated_at: chrono::DateTime<chrono::FixedOffset>,
80 version_id: String,
81 version: i32,
82 version_created_at: chrono::DateTime<chrono::FixedOffset>,
83 version_created_by: models::Creator,
84 r#type: Type,
85 source_code: String,
86 source_code_language: models::CodeEvaluatorSourceCodeLanguage,
87 ) -> CodeEvaluator1 {
88 CodeEvaluator1 {
89 id,
90 name,
91 description,
92 created_by: Box::new(created_by),
93 status,
94 paused_at,
95 paused_reason,
96 paused_message,
97 evaluation_rule_assignments,
98 created_at,
99 updated_at,
100 version_id,
101 version,
102 version_created_at,
103 version_created_by: Box::new(version_created_by),
104 r#type,
105 source_code,
106 source_code_language,
107 }
108 }
109}
110#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
112pub enum Type {
113 #[serde(rename = "code")]
114 Code,
115}
116
117impl Default for Type {
118 fn default() -> Type {
119 Self::Code
120 }
121}