langfuse_client_base/models/
create_dataset_item_request.rs

1/*
2 * langfuse
3 *
4 * ## Authentication  Authenticate with the API using [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), get API keys in the project settings:  - username: Langfuse Public Key - password: Langfuse Secret Key  ## Exports  - OpenAPI spec: https://cloud.langfuse.com/generated/api/openapi.yml - Postman collection: https://cloud.langfuse.com/generated/postman/collection.json
5 *
6 * The version of the OpenAPI document:
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct CreateDatasetItemRequest {
16    #[serde(rename = "datasetName")]
17    pub dataset_name: String,
18    #[serde(
19        rename = "input",
20        default,
21        with = "::serde_with::rust::double_option",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub input: Option<Option<serde_json::Value>>,
25    #[serde(
26        rename = "expectedOutput",
27        default,
28        with = "::serde_with::rust::double_option",
29        skip_serializing_if = "Option::is_none"
30    )]
31    pub expected_output: Option<Option<serde_json::Value>>,
32    #[serde(
33        rename = "metadata",
34        default,
35        with = "::serde_with::rust::double_option",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub metadata: Option<Option<serde_json::Value>>,
39    #[serde(
40        rename = "sourceTraceId",
41        default,
42        with = "::serde_with::rust::double_option",
43        skip_serializing_if = "Option::is_none"
44    )]
45    pub source_trace_id: Option<Option<String>>,
46    #[serde(
47        rename = "sourceObservationId",
48        default,
49        with = "::serde_with::rust::double_option",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub source_observation_id: Option<Option<String>>,
53    /// Dataset items are upserted on their id. Id needs to be unique (project-level) and cannot be reused across datasets.
54    #[serde(
55        rename = "id",
56        default,
57        with = "::serde_with::rust::double_option",
58        skip_serializing_if = "Option::is_none"
59    )]
60    pub id: Option<Option<String>>,
61    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
62    pub status: Option<models::DatasetStatus>,
63}
64
65impl CreateDatasetItemRequest {
66    pub fn new(dataset_name: String) -> CreateDatasetItemRequest {
67        CreateDatasetItemRequest {
68            dataset_name,
69            input: None,
70            expected_output: None,
71            metadata: None,
72            source_trace_id: None,
73            source_observation_id: None,
74            id: None,
75            status: None,
76        }
77    }
78}