1use crate::{
2 client::rpc::Tag,
3 tensor::{DecthingsParameterDefinition, OwnedDecthingsTensor},
4};
5use serde::Deserialize;
6
7#[derive(Debug, Clone, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct CreateDatasetResult {
10 pub dataset_id: String,
12 pub dataset_version_id: String,
14}
15
16#[derive(Debug, Clone, Deserialize)]
17#[serde(rename_all = "snake_case", tag = "code")]
18pub enum CreateDatasetError {
19 NameAlreadyUsed,
20 OrganizationNotFound,
21 AccessDenied,
22 QuotaExceeded,
23 BadCredentials,
24 TooManyRequests,
25 PaymentRequired,
26 Unknown,
27 #[serde(rename_all = "camelCase")]
28 InvalidParameter {
29 parameter_name: String,
30 reason: String,
31 },
32}
33
34#[derive(Debug, Clone, Deserialize)]
35#[serde(rename_all = "camelCase")]
36pub struct UpdateDatasetResult {}
37
38#[derive(Debug, Clone, Deserialize)]
39#[serde(rename_all = "snake_case", tag = "code")]
40pub enum UpdateDatasetError {
41 DatasetNotFound,
42 AccessDenied,
43 NameAlreadyUsed,
44 BadCredentials,
45 TooManyRequests,
46 PaymentRequired,
47 Unknown,
48 #[serde(rename_all = "camelCase")]
49 InvalidParameter {
50 parameter_name: String,
51 reason: String,
52 },
53}
54
55#[derive(Debug, Clone, Deserialize)]
56#[serde(rename_all = "camelCase")]
57pub struct DeleteDatasetResult {}
58
59#[derive(Debug, Clone, Deserialize)]
60#[serde(rename_all = "snake_case", tag = "code")]
61pub enum DeleteDatasetError {
62 DatasetNotFound,
63 AccessDenied,
64 BadCredentials,
65 TooManyRequests,
66 PaymentRequired,
67 Unknown,
68 #[serde(rename_all = "camelCase")]
69 InvalidParameter {
70 parameter_name: String,
71 reason: String,
72 },
73}
74
75#[derive(Debug, Clone, Deserialize)]
76#[serde(rename_all = "camelCase", tag = "type")]
77pub enum DatasetOwner {
78 #[serde(rename_all = "camelCase")]
79 User { user_id: String, username: String },
80 #[serde(rename_all = "camelCase")]
81 Organization {
82 organization_id: String,
83 organization_name: String,
84 },
85}
86
87#[derive(Debug, Clone, Deserialize)]
88#[serde(rename_all = "camelCase")]
89pub enum DatasetAccess {
90 Read,
91 Readwrite,
92}
93
94#[derive(Debug, Clone, Deserialize)]
95#[serde(rename_all = "camelCase")]
96pub struct DatasetEntries {
97 pub count: u32,
98 pub total_byte_size: u64,
99}
100
101#[derive(Debug, Clone, Deserialize)]
102#[serde(rename_all = "camelCase")]
103pub struct Dataset {
104 pub id: String,
105 pub name: String,
106 pub description: String,
107 pub public_access: bool,
108 pub created_at: i64,
109 pub tags: Vec<Tag>,
110 pub owner: DatasetOwner,
111 pub access: DatasetAccess,
112 pub keys: Vec<DecthingsParameterDefinition>,
113 pub entries: DatasetEntries,
114 pub needs_review_entries: DatasetEntries,
115 pub entries_waiting_to_be_deleted: DatasetEntries,
116 pub version_id: String,
119}
120
121#[derive(Debug, Clone, Deserialize)]
122#[serde(rename_all = "camelCase")]
123pub struct GetDatasetsResult {
124 pub datasets: Vec<Dataset>,
125 pub total: u32,
127 pub offset: u32,
128 pub limit: u32,
129}
130
131#[derive(Debug, Clone, Deserialize)]
132#[serde(rename_all = "snake_case", tag = "code")]
133pub enum GetDatasetsError {
134 BadCredentials,
135 TooManyRequests,
136 PaymentRequired,
137 Unknown,
138 #[serde(rename_all = "camelCase")]
139 InvalidParameter {
140 parameter_name: String,
141 reason: String,
142 },
143}
144
145#[derive(Debug, Clone, Deserialize)]
146#[serde(rename_all = "camelCase")]
147pub struct AddEntriesResult {
148 pub new_dataset_version_id: String,
150}
151
152#[derive(Debug, Clone, Deserialize)]
153#[serde(rename_all = "snake_case", tag = "code")]
154pub enum AddEntriesError {
155 DatasetNotFound,
156 AccessDenied,
157 LimitExceeded,
158 QuotaExceeded,
159 #[serde(rename_all = "camelCase")]
160 IncorrectVersionId {
161 dataset_version_id: String,
163 },
164 BadCredentials,
165 TooManyRequests,
166 PaymentRequired,
167 Unknown,
168 #[serde(rename_all = "camelCase")]
169 InvalidParameter {
170 parameter_name: String,
171 reason: String,
172 },
173}
174
175#[derive(Debug, Clone, Deserialize)]
176#[serde(rename_all = "camelCase")]
177pub struct AddEntriesToNeedsReviewResult {
178 pub new_dataset_version_id: String,
180}
181
182#[derive(Debug, Clone, Deserialize)]
183#[serde(rename_all = "snake_case", tag = "code")]
184pub enum AddEntriesToNeedsReviewError {
185 DatasetNotFound,
186 AccessDenied,
187 LimitExceeded,
188 QuotaExceeded,
189 #[serde(rename_all = "camelCase")]
190 IncorrectVersionId {
191 dataset_version_id: String,
193 },
194 BadCredentials,
195 TooManyRequests,
196 PaymentRequired,
197 Unknown,
198 #[serde(rename_all = "camelCase")]
199 InvalidParameter {
200 parameter_name: String,
201 reason: String,
202 },
203}
204
205#[derive(Debug, Clone, Deserialize)]
206#[serde(rename_all = "camelCase")]
207pub struct FinalizeNeedsReviewEntriesResult {
208 pub new_dataset_version_id: String,
210 pub removed_bytes_from_needs_review: u64,
212}
213
214#[derive(Debug, Clone, Deserialize)]
215#[serde(rename_all = "snake_case", tag = "code")]
216pub enum FinalizeNeedsReviewEntriesError {
217 DatasetNotFound,
218 IndexOutOfRange,
219 AccessDenied,
220 QuotaExceeded,
221 #[serde(rename_all = "camelCase")]
222 IncorrectVersionId {
223 dataset_version_id: String,
225 },
226 BadCredentials,
227 TooManyRequests,
228 PaymentRequired,
229 Unknown,
230 #[serde(rename_all = "camelCase")]
231 InvalidParameter {
232 parameter_name: String,
233 reason: String,
234 },
235}
236
237#[derive(Deserialize)]
238#[serde(rename_all = "camelCase")]
239pub(super) struct InnerGetEntriesResult {
240 pub keys: Vec<String>,
241 pub indexes: Vec<u32>,
242}
243
244#[derive(Debug, Clone)]
245pub struct FetchedEntry {
246 pub index: u32,
247 pub data: OwnedDecthingsTensor,
248}
249
250#[derive(Debug, Clone)]
251pub struct KeyData {
252 pub name: String,
253 pub data: Vec<FetchedEntry>,
254}
255
256#[derive(Debug, Clone)]
257pub struct GetEntriesResult {
258 pub keys: Vec<KeyData>,
259}
260
261#[derive(Debug, Clone, Deserialize)]
262#[serde(rename_all = "snake_case", tag = "code")]
263pub enum GetEntriesError {
264 DatasetNotFound,
265 #[serde(rename_all = "camelCase")]
266 IncorrectVersionId {
267 dataset_version_id: String,
269 },
270 BadCredentials,
271 TooManyRequests,
272 PaymentRequired,
273 Unknown,
274 #[serde(rename_all = "camelCase")]
275 InvalidParameter {
276 parameter_name: String,
277 reason: String,
278 },
279}
280
281#[derive(Deserialize)]
282#[serde(rename_all = "camelCase")]
283pub(super) struct InnerGetNeedsReviewEntriesResult {
284 pub keys: Vec<String>,
285 pub indexes: Vec<u32>,
286}
287
288#[derive(Debug, Clone)]
289pub struct GetNeedsReviewEntriesResult {
290 pub keys: Vec<KeyData>,
291}
292
293#[derive(Debug, Clone, Deserialize)]
294#[serde(rename_all = "snake_case", tag = "code")]
295pub enum GetNeedsReviewEntriesError {
296 DatasetNotFound,
297 #[serde(rename_all = "camelCase")]
298 IncorrectVersionId {
299 dataset_version_id: String,
301 },
302 BadCredentials,
303 TooManyRequests,
304 PaymentRequired,
305 Unknown,
306 #[serde(rename_all = "camelCase")]
307 InvalidParameter {
308 parameter_name: String,
309 reason: String,
310 },
311}
312
313#[derive(Debug, Clone, Deserialize)]
314#[serde(rename_all = "camelCase")]
315pub struct RemoveEntriesResult {
316 pub new_dataset_version_id: String,
318 pub removed_bytes: u64,
319 pub new_waiting_to_remove_bytes: u64,
320 pub new_waiting_to_remove_amount: u64,
321}
322
323#[derive(Debug, Clone, Deserialize)]
324#[serde(rename_all = "snake_case", tag = "code")]
325pub enum RemoveEntriesError {
326 DatasetNotFound,
327 IndexOutOfRange,
328 AccessDenied,
329 #[serde(rename_all = "camelCase")]
330 IncorrectVersionId {
331 dataset_version_id: String,
333 },
334 BadCredentials,
335 TooManyRequests,
336 PaymentRequired,
337 Unknown,
338 #[serde(rename_all = "camelCase")]
339 InvalidParameter {
340 parameter_name: String,
341 reason: String,
342 },
343}
344
345#[derive(Debug, Clone, Deserialize)]
346#[serde(rename_all = "camelCase")]
347pub struct RemoveNeedsReviewEntriesResult {
348 pub new_dataset_version_id: String,
350 pub removed_bytes: u64,
351}
352
353#[derive(Debug, Clone, Deserialize)]
354#[serde(rename_all = "snake_case", tag = "code")]
355pub enum RemoveNeedsReviewEntriesError {
356 DatasetNotFound,
357 IndexOutOfRange,
358 AccessDenied,
359 #[serde(rename_all = "camelCase")]
360 IncorrectVersionId {
361 dataset_version_id: String,
363 },
364 BadCredentials,
365 TooManyRequests,
366 PaymentRequired,
367 Unknown,
368 #[serde(rename_all = "camelCase")]
369 InvalidParameter {
370 parameter_name: String,
371 reason: String,
372 },
373}