outfox_openai/spec/chatkit/
api.rs1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4use crate::error::OpenAIError;
5
6#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
8#[serde(rename_all = "lowercase")]
9pub enum ListChatKitThreadsOrder {
10 Asc,
12 Desc,
14}
15
16#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
18#[builder(name = "ListChatKitThreadsQueryArgs")]
19#[builder(pattern = "mutable")]
20#[builder(setter(into, strip_option), default)]
21#[builder(derive(Debug))]
22#[builder(build_fn(error = "OpenAIError"))]
23pub struct ListChatKitThreadsQuery {
24 #[serde(skip_serializing_if = "Option::is_none")]
26 pub limit: Option<u32>,
27 #[serde(skip_serializing_if = "Option::is_none")]
29 pub order: Option<ListChatKitThreadsOrder>,
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub after: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub before: Option<String>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub user: Option<String>,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
43#[serde(rename_all = "lowercase")]
44pub enum ListChatKitThreadItemsOrder {
45 Asc,
47 Desc,
49}
50
51#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
53#[builder(name = "ListChatKitThreadItemsQueryArgs")]
54#[builder(pattern = "mutable")]
55#[builder(setter(into, strip_option), default)]
56#[builder(derive(Debug))]
57#[builder(build_fn(error = "OpenAIError"))]
58pub struct ListChatKitThreadItemsQuery {
59 #[serde(skip_serializing_if = "Option::is_none")]
61 pub limit: Option<u32>,
62 #[serde(skip_serializing_if = "Option::is_none")]
64 pub order: Option<ListChatKitThreadItemsOrder>,
65 #[serde(skip_serializing_if = "Option::is_none")]
67 pub after: Option<String>,
68 #[serde(skip_serializing_if = "Option::is_none")]
70 pub before: Option<String>,
71}