outfox_openai/spec/vectorstores/
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 ListVectorStoresOrder {
10 Asc,
12 Desc,
14}
15
16#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
18#[builder(name = "ListVectorStoresQueryArgs")]
19#[builder(pattern = "mutable")]
20#[builder(setter(into, strip_option), default)]
21#[builder(derive(Debug))]
22#[builder(build_fn(error = "OpenAIError"))]
23pub struct ListVectorStoresQuery {
24 #[serde(skip_serializing_if = "Option::is_none")]
27 pub limit: Option<u32>,
28 #[serde(skip_serializing_if = "Option::is_none")]
31 pub order: Option<ListVectorStoresOrder>,
32 #[serde(skip_serializing_if = "Option::is_none")]
35 pub after: Option<String>,
36 #[serde(skip_serializing_if = "Option::is_none")]
39 pub before: Option<String>,
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
44#[serde(rename_all = "lowercase")]
45pub enum ListFilesInVectorStoreBatchOrder {
46 Asc,
48 Desc,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
54#[serde(rename_all = "snake_case")]
55pub enum ListFilesInVectorStoreBatchFilter {
56 InProgress,
58 Completed,
60 Failed,
62 Cancelled,
64}
65
66#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
68#[builder(name = "ListFilesInVectorStoreBatchQueryArgs")]
69#[builder(pattern = "mutable")]
70#[builder(setter(into, strip_option), default)]
71#[builder(derive(Debug))]
72#[builder(build_fn(error = "OpenAIError"))]
73pub struct ListFilesInVectorStoreBatchQuery {
74 #[serde(skip_serializing_if = "Option::is_none")]
77 pub limit: Option<u32>,
78 #[serde(skip_serializing_if = "Option::is_none")]
81 pub order: Option<ListFilesInVectorStoreBatchOrder>,
82 #[serde(skip_serializing_if = "Option::is_none")]
85 pub after: Option<String>,
86 #[serde(skip_serializing_if = "Option::is_none")]
89 pub before: Option<String>,
90 #[serde(skip_serializing_if = "Option::is_none")]
92 pub filter: Option<ListFilesInVectorStoreBatchFilter>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
97#[serde(rename_all = "lowercase")]
98pub enum ListVectorStoreFilesOrder {
99 Asc,
101 Desc,
103}
104
105#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
107#[serde(rename_all = "snake_case")]
108pub enum ListVectorStoreFilesFilter {
109 InProgress,
111 Completed,
113 Failed,
115 Cancelled,
117}
118
119#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
121#[builder(name = "ListVectorStoreFilesQueryArgs")]
122#[builder(pattern = "mutable")]
123#[builder(setter(into, strip_option), default)]
124#[builder(derive(Debug))]
125#[builder(build_fn(error = "OpenAIError"))]
126pub struct ListVectorStoreFilesQuery {
127 #[serde(skip_serializing_if = "Option::is_none")]
130 pub limit: Option<u32>,
131 #[serde(skip_serializing_if = "Option::is_none")]
134 pub order: Option<ListVectorStoreFilesOrder>,
135 #[serde(skip_serializing_if = "Option::is_none")]
138 pub after: Option<String>,
139 #[serde(skip_serializing_if = "Option::is_none")]
142 pub before: Option<String>,
143 #[serde(skip_serializing_if = "Option::is_none")]
145 pub filter: Option<ListVectorStoreFilesFilter>,
146}