langfuse_client_base/models/
code_evaluator.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct CodeEvaluator {
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")]
60 pub r#type: String,
61 #[serde(rename = "sourceCode")]
63 pub source_code: String,
64 #[serde(rename = "sourceCodeLanguage")]
65 pub source_code_language: models::CodeEvaluatorSourceCodeLanguage,
66}
67
68impl CodeEvaluator {
69 pub fn new(
70 id: String,
71 name: String,
72 description: Option<String>,
73 created_by: models::Creator,
74 status: models::EvaluatorStatus,
75 paused_at: Option<chrono::DateTime<chrono::FixedOffset>>,
76 paused_reason: Option<String>,
77 paused_message: Option<String>,
78 evaluation_rule_assignments: Vec<models::EvaluationRuleAssignment>,
79 created_at: chrono::DateTime<chrono::FixedOffset>,
80 updated_at: chrono::DateTime<chrono::FixedOffset>,
81 version_id: String,
82 version: i32,
83 version_created_at: chrono::DateTime<chrono::FixedOffset>,
84 version_created_by: models::Creator,
85 r#type: String,
86 source_code: String,
87 source_code_language: models::CodeEvaluatorSourceCodeLanguage,
88 ) -> CodeEvaluator {
89 CodeEvaluator {
90 id,
91 name,
92 description,
93 created_by: Box::new(created_by),
94 status,
95 paused_at,
96 paused_reason,
97 paused_message,
98 evaluation_rule_assignments,
99 created_at,
100 updated_at,
101 version_id,
102 version,
103 version_created_at,
104 version_created_by: Box::new(version_created_by),
105 r#type,
106 source_code,
107 source_code_language,
108 }
109 }
110}