langfuse_client_base/models/
session_with_traces.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct SessionWithTraces {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "createdAt")]
19 pub created_at: String,
20 #[serde(rename = "projectId")]
21 pub project_id: String,
22 #[serde(
24 rename = "environment",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub environment: Option<Option<String>>,
30 #[serde(rename = "traces")]
31 pub traces: Vec<models::Trace>,
32}
33
34impl SessionWithTraces {
35 pub fn new(
36 id: String,
37 created_at: String,
38 project_id: String,
39 traces: Vec<models::Trace>,
40 ) -> SessionWithTraces {
41 SessionWithTraces {
42 id,
43 created_at,
44 project_id,
45 environment: None,
46 traces,
47 }
48 }
49}