Skip to main content

artifacts/models/
assistant_answer_data_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct AssistantAnswerDataSchema {
7    /// The assistant's answer.
8    #[serde(rename = "answer")]
9    pub answer: String,
10    /// Updated assistant rate limit after this request.
11    #[serde(rename = "assistant")]
12    pub assistant: Box<models::RateLimitScopeSchema>,
13    /// Whether this question cost 1 gem.
14    #[serde(rename = "paid_with_gems")]
15    pub paid_with_gems: bool,
16}
17
18impl AssistantAnswerDataSchema {
19    pub fn new(
20        answer: String,
21        assistant: models::RateLimitScopeSchema,
22        paid_with_gems: bool,
23    ) -> AssistantAnswerDataSchema {
24        AssistantAnswerDataSchema {
25            answer,
26            assistant: Box::new(assistant),
27            paid_with_gems,
28        }
29    }
30}