@studyfetch/sdk 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,15 +12,13 @@ export class Folders extends APIResource {
12
12
  *
13
13
  * @example
14
14
  * ```ts
15
- * await client.v1.folders.create({ name: 'name' });
15
+ * const folder = await client.v1.folders.create({
16
+ * name: 'name',
17
+ * });
16
18
  * ```
17
19
  */
18
- create(body: FolderCreateParams, options?: RequestOptions): APIPromise<void> {
19
- return this._client.post('/api/v1/folders', {
20
- body,
21
- ...options,
22
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
23
- });
20
+ create(body: FolderCreateParams, options?: RequestOptions): APIPromise<FolderCreateResponse> {
21
+ return this._client.post('/api/v1/folders', { body, ...options });
24
22
  }
25
23
 
26
24
  /**
@@ -28,14 +26,11 @@ export class Folders extends APIResource {
28
26
  *
29
27
  * @example
30
28
  * ```ts
31
- * await client.v1.folders.retrieve('id');
29
+ * const folder = await client.v1.folders.retrieve('id');
32
30
  * ```
33
31
  */
34
- retrieve(id: string, options?: RequestOptions): APIPromise<void> {
35
- return this._client.get(path`/api/v1/folders/${id}`, {
36
- ...options,
37
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
38
- });
32
+ retrieve(id: string, options?: RequestOptions): APIPromise<FolderRetrieveResponse> {
33
+ return this._client.get(path`/api/v1/folders/${id}`, options);
39
34
  }
40
35
 
41
36
  /**
@@ -43,15 +38,11 @@ export class Folders extends APIResource {
43
38
  *
44
39
  * @example
45
40
  * ```ts
46
- * await client.v1.folders.update('id');
41
+ * const folder = await client.v1.folders.update('id');
47
42
  * ```
48
43
  */
49
- update(id: string, body: FolderUpdateParams, options?: RequestOptions): APIPromise<void> {
50
- return this._client.patch(path`/api/v1/folders/${id}`, {
51
- body,
52
- ...options,
53
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
54
- });
44
+ update(id: string, body: FolderUpdateParams, options?: RequestOptions): APIPromise<FolderUpdateResponse> {
45
+ return this._client.patch(path`/api/v1/folders/${id}`, { body, ...options });
55
46
  }
56
47
 
57
48
  /**
@@ -59,15 +50,14 @@ export class Folders extends APIResource {
59
50
  *
60
51
  * @example
61
52
  * ```ts
62
- * await client.v1.folders.list();
53
+ * const folders = await client.v1.folders.list();
63
54
  * ```
64
55
  */
65
- list(query: FolderListParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
66
- return this._client.get('/api/v1/folders', {
67
- query,
68
- ...options,
69
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
70
- });
56
+ list(
57
+ query: FolderListParams | null | undefined = {},
58
+ options?: RequestOptions,
59
+ ): APIPromise<FolderListResponse> {
60
+ return this._client.get('/api/v1/folders', { query, ...options });
71
61
  }
72
62
 
73
63
  /**
@@ -90,40 +80,628 @@ export class Folders extends APIResource {
90
80
  *
91
81
  * @example
92
82
  * ```ts
93
- * await client.v1.folders.getTree();
83
+ * const response = await client.v1.folders.getTree();
94
84
  * ```
95
85
  */
96
- getTree(options?: RequestOptions): APIPromise<void> {
97
- return this._client.get('/api/v1/folders/tree', {
98
- ...options,
99
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
100
- });
86
+ getTree(options?: RequestOptions): APIPromise<FolderGetTreeResponse> {
87
+ return this._client.get('/api/v1/folders/tree', options);
101
88
  }
102
89
 
103
90
  /**
91
+ * Get all materials in folder
92
+ *
104
93
  * @example
105
94
  * ```ts
106
- * await client.v1.folders.listMaterials('id');
95
+ * const response = await client.v1.folders.listMaterials(
96
+ * 'id',
97
+ * );
107
98
  * ```
108
99
  */
109
- listMaterials(id: string, options?: RequestOptions): APIPromise<void> {
110
- return this._client.get(path`/api/v1/folders/${id}/materials`, {
111
- ...options,
112
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
113
- });
100
+ listMaterials(id: string, options?: RequestOptions): APIPromise<FolderListMaterialsResponse> {
101
+ return this._client.get(path`/api/v1/folders/${id}/materials`, options);
114
102
  }
115
103
 
116
104
  /**
105
+ * Move folder to new parent
106
+ *
117
107
  * @example
118
108
  * ```ts
119
- * await client.v1.folders.move('id');
109
+ * const response = await client.v1.folders.move('id', {
110
+ * parentFolderId: 'parentFolderId',
111
+ * });
120
112
  * ```
121
113
  */
122
- move(id: string, options?: RequestOptions): APIPromise<void> {
123
- return this._client.patch(path`/api/v1/folders/${id}/move`, {
124
- ...options,
125
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
126
- });
114
+ move(id: string, body: FolderMoveParams, options?: RequestOptions): APIPromise<FolderMoveResponse> {
115
+ return this._client.patch(path`/api/v1/folders/${id}/move`, { body, ...options });
116
+ }
117
+ }
118
+
119
+ export interface FolderCreateResponse {
120
+ /**
121
+ * Folder ID
122
+ */
123
+ _id: string;
124
+
125
+ /**
126
+ * Creation date
127
+ */
128
+ createdAt: string;
129
+
130
+ /**
131
+ * Folder name
132
+ */
133
+ name: string;
134
+
135
+ /**
136
+ * Organization ID
137
+ */
138
+ organizationId: string;
139
+
140
+ /**
141
+ * Folder status
142
+ */
143
+ status: 'active' | 'deleted';
144
+
145
+ /**
146
+ * Last update date
147
+ */
148
+ updatedAt: string;
149
+
150
+ /**
151
+ * Folder description
152
+ */
153
+ description?: string;
154
+
155
+ /**
156
+ * Folder metadata
157
+ */
158
+ metadata?: FolderCreateResponse.Metadata;
159
+
160
+ /**
161
+ * Parent folder ID
162
+ */
163
+ parentFolderId?: string | null;
164
+ }
165
+
166
+ export namespace FolderCreateResponse {
167
+ /**
168
+ * Folder metadata
169
+ */
170
+ export interface Metadata {
171
+ /**
172
+ * Folder color
173
+ */
174
+ color?: string;
175
+
176
+ /**
177
+ * Folder icon
178
+ */
179
+ icon?: string;
180
+
181
+ /**
182
+ * Last activity date
183
+ */
184
+ lastActivity?: string;
185
+
186
+ /**
187
+ * Number of materials in folder
188
+ */
189
+ materialCount?: number;
190
+
191
+ /**
192
+ * Total size of materials in folder
193
+ */
194
+ totalSize?: number;
195
+ }
196
+ }
197
+
198
+ export interface FolderRetrieveResponse {
199
+ /**
200
+ * Folder ID
201
+ */
202
+ _id: unknown;
203
+
204
+ /**
205
+ * Total number of materials
206
+ */
207
+ materialCount: number;
208
+
209
+ /**
210
+ * Materials in this folder
211
+ */
212
+ materials: Array<unknown>;
213
+
214
+ /**
215
+ * Folder name
216
+ */
217
+ name: string;
218
+
219
+ /**
220
+ * Organization ID
221
+ */
222
+ organizationId: string;
223
+
224
+ /**
225
+ * Folder status
226
+ */
227
+ status: 'active' | 'deleted';
228
+
229
+ /**
230
+ * Subfolders
231
+ */
232
+ subfolders: Array<unknown>;
233
+
234
+ /**
235
+ * Total size of all materials in bytes
236
+ */
237
+ totalSize: number;
238
+
239
+ /**
240
+ * Creation date
241
+ */
242
+ createdAt?: unknown;
243
+
244
+ /**
245
+ * Folder description
246
+ */
247
+ description?: string;
248
+
249
+ /**
250
+ * Folder metadata
251
+ */
252
+ metadata?: FolderRetrieveResponse.Metadata;
253
+
254
+ /**
255
+ * Parent folder ID
256
+ */
257
+ parentFolderId?: string | null;
258
+
259
+ /**
260
+ * Last update date
261
+ */
262
+ updatedAt?: unknown;
263
+ }
264
+
265
+ export namespace FolderRetrieveResponse {
266
+ /**
267
+ * Folder metadata
268
+ */
269
+ export interface Metadata {
270
+ /**
271
+ * Folder color
272
+ */
273
+ color?: string;
274
+
275
+ /**
276
+ * Folder icon
277
+ */
278
+ icon?: string;
279
+
280
+ /**
281
+ * Last activity date
282
+ */
283
+ lastActivity?: string;
284
+
285
+ /**
286
+ * Number of materials in folder
287
+ */
288
+ materialCount?: number;
289
+
290
+ /**
291
+ * Total size of materials in folder
292
+ */
293
+ totalSize?: number;
294
+ }
295
+ }
296
+
297
+ export interface FolderUpdateResponse {
298
+ /**
299
+ * Folder ID
300
+ */
301
+ _id: string;
302
+
303
+ /**
304
+ * Creation date
305
+ */
306
+ createdAt: string;
307
+
308
+ /**
309
+ * Folder name
310
+ */
311
+ name: string;
312
+
313
+ /**
314
+ * Organization ID
315
+ */
316
+ organizationId: string;
317
+
318
+ /**
319
+ * Folder status
320
+ */
321
+ status: 'active' | 'deleted';
322
+
323
+ /**
324
+ * Last update date
325
+ */
326
+ updatedAt: string;
327
+
328
+ /**
329
+ * Folder description
330
+ */
331
+ description?: string;
332
+
333
+ /**
334
+ * Folder metadata
335
+ */
336
+ metadata?: FolderUpdateResponse.Metadata;
337
+
338
+ /**
339
+ * Parent folder ID
340
+ */
341
+ parentFolderId?: string | null;
342
+ }
343
+
344
+ export namespace FolderUpdateResponse {
345
+ /**
346
+ * Folder metadata
347
+ */
348
+ export interface Metadata {
349
+ /**
350
+ * Folder color
351
+ */
352
+ color?: string;
353
+
354
+ /**
355
+ * Folder icon
356
+ */
357
+ icon?: string;
358
+
359
+ /**
360
+ * Last activity date
361
+ */
362
+ lastActivity?: string;
363
+
364
+ /**
365
+ * Number of materials in folder
366
+ */
367
+ materialCount?: number;
368
+
369
+ /**
370
+ * Total size of materials in folder
371
+ */
372
+ totalSize?: number;
373
+ }
374
+ }
375
+
376
+ export type FolderListResponse = Array<FolderListResponse.FolderListResponseItem>;
377
+
378
+ export namespace FolderListResponse {
379
+ export interface FolderListResponseItem {
380
+ /**
381
+ * Folder ID
382
+ */
383
+ _id: string;
384
+
385
+ /**
386
+ * Creation date
387
+ */
388
+ createdAt: string;
389
+
390
+ /**
391
+ * Folder name
392
+ */
393
+ name: string;
394
+
395
+ /**
396
+ * Organization ID
397
+ */
398
+ organizationId: string;
399
+
400
+ /**
401
+ * Folder status
402
+ */
403
+ status: 'active' | 'deleted';
404
+
405
+ /**
406
+ * Last update date
407
+ */
408
+ updatedAt: string;
409
+
410
+ /**
411
+ * Folder description
412
+ */
413
+ description?: string;
414
+
415
+ /**
416
+ * Folder metadata
417
+ */
418
+ metadata?: FolderListResponseItem.Metadata;
419
+
420
+ /**
421
+ * Parent folder ID
422
+ */
423
+ parentFolderId?: string | null;
424
+ }
425
+
426
+ export namespace FolderListResponseItem {
427
+ /**
428
+ * Folder metadata
429
+ */
430
+ export interface Metadata {
431
+ /**
432
+ * Folder color
433
+ */
434
+ color?: string;
435
+
436
+ /**
437
+ * Folder icon
438
+ */
439
+ icon?: string;
440
+
441
+ /**
442
+ * Last activity date
443
+ */
444
+ lastActivity?: string;
445
+
446
+ /**
447
+ * Number of materials in folder
448
+ */
449
+ materialCount?: number;
450
+
451
+ /**
452
+ * Total size of materials in folder
453
+ */
454
+ totalSize?: number;
455
+ }
456
+ }
457
+ }
458
+
459
+ export type FolderGetTreeResponse = Array<FolderGetTreeResponse.FolderGetTreeResponseItem>;
460
+
461
+ export namespace FolderGetTreeResponse {
462
+ export interface FolderGetTreeResponseItem {
463
+ /**
464
+ * Folder ID
465
+ */
466
+ _id: unknown;
467
+
468
+ /**
469
+ * Folder name
470
+ */
471
+ name: string;
472
+
473
+ /**
474
+ * Organization ID
475
+ */
476
+ organizationId: string;
477
+
478
+ /**
479
+ * Folder status
480
+ */
481
+ status: 'active' | 'deleted';
482
+
483
+ /**
484
+ * Nested subfolders
485
+ */
486
+ subfolders: Array<unknown>;
487
+
488
+ /**
489
+ * Creation date
490
+ */
491
+ createdAt?: unknown;
492
+
493
+ /**
494
+ * Folder description
495
+ */
496
+ description?: string;
497
+
498
+ /**
499
+ * Folder metadata
500
+ */
501
+ metadata?: FolderGetTreeResponseItem.Metadata;
502
+
503
+ /**
504
+ * Parent folder ID
505
+ */
506
+ parentFolderId?: string | null;
507
+
508
+ /**
509
+ * Last update date
510
+ */
511
+ updatedAt?: unknown;
512
+ }
513
+
514
+ export namespace FolderGetTreeResponseItem {
515
+ /**
516
+ * Folder metadata
517
+ */
518
+ export interface Metadata {
519
+ /**
520
+ * Folder color
521
+ */
522
+ color?: string;
523
+
524
+ /**
525
+ * Folder icon
526
+ */
527
+ icon?: string;
528
+
529
+ /**
530
+ * Last activity date
531
+ */
532
+ lastActivity?: string;
533
+
534
+ /**
535
+ * Number of materials in folder
536
+ */
537
+ materialCount?: number;
538
+
539
+ /**
540
+ * Total size of materials in folder
541
+ */
542
+ totalSize?: number;
543
+ }
544
+ }
545
+ }
546
+
547
+ export type FolderListMaterialsResponse = Array<FolderListMaterialsResponse.FolderListMaterialsResponseItem>;
548
+
549
+ export namespace FolderListMaterialsResponse {
550
+ export interface FolderListMaterialsResponseItem {
551
+ /**
552
+ * Material ID
553
+ */
554
+ _id: string;
555
+
556
+ /**
557
+ * Material content
558
+ */
559
+ content: FolderListMaterialsResponseItem.Content;
560
+
561
+ /**
562
+ * Content type
563
+ */
564
+ contentType: 'text' | 'pdf' | 'video' | 'audio' | 'image' | 'epub';
565
+
566
+ /**
567
+ * Creation timestamp
568
+ */
569
+ createdAt: string;
570
+
571
+ /**
572
+ * Folder ID
573
+ */
574
+ folderId: string | null;
575
+
576
+ /**
577
+ * Material name
578
+ */
579
+ name: string;
580
+
581
+ /**
582
+ * Organization ID
583
+ */
584
+ organizationId: string;
585
+
586
+ /**
587
+ * Material status
588
+ */
589
+ status: 'active' | 'processing' | 'pending_upload' | 'error' | 'deleted';
590
+
591
+ /**
592
+ * Last update timestamp
593
+ */
594
+ updatedAt: string;
595
+
596
+ /**
597
+ * Material metadata
598
+ */
599
+ metadata?: unknown;
600
+
601
+ /**
602
+ * Usage information
603
+ */
604
+ usage?: unknown;
605
+ }
606
+
607
+ export namespace FolderListMaterialsResponseItem {
608
+ /**
609
+ * Material content
610
+ */
611
+ export interface Content {
612
+ filename?: string;
613
+
614
+ fileSize?: number;
615
+
616
+ mimeType?: string;
617
+
618
+ s3Key?: string;
619
+
620
+ s3Url?: string;
621
+
622
+ text?: string;
623
+
624
+ url?: string;
625
+ }
626
+ }
627
+ }
628
+
629
+ export interface FolderMoveResponse {
630
+ /**
631
+ * Folder ID
632
+ */
633
+ _id: string;
634
+
635
+ /**
636
+ * Creation date
637
+ */
638
+ createdAt: string;
639
+
640
+ /**
641
+ * Folder name
642
+ */
643
+ name: string;
644
+
645
+ /**
646
+ * Organization ID
647
+ */
648
+ organizationId: string;
649
+
650
+ /**
651
+ * Folder status
652
+ */
653
+ status: 'active' | 'deleted';
654
+
655
+ /**
656
+ * Last update date
657
+ */
658
+ updatedAt: string;
659
+
660
+ /**
661
+ * Folder description
662
+ */
663
+ description?: string;
664
+
665
+ /**
666
+ * Folder metadata
667
+ */
668
+ metadata?: FolderMoveResponse.Metadata;
669
+
670
+ /**
671
+ * Parent folder ID
672
+ */
673
+ parentFolderId?: string | null;
674
+ }
675
+
676
+ export namespace FolderMoveResponse {
677
+ /**
678
+ * Folder metadata
679
+ */
680
+ export interface Metadata {
681
+ /**
682
+ * Folder color
683
+ */
684
+ color?: string;
685
+
686
+ /**
687
+ * Folder icon
688
+ */
689
+ icon?: string;
690
+
691
+ /**
692
+ * Last activity date
693
+ */
694
+ lastActivity?: string;
695
+
696
+ /**
697
+ * Number of materials in folder
698
+ */
699
+ materialCount?: number;
700
+
701
+ /**
702
+ * Total size of materials in folder
703
+ */
704
+ totalSize?: number;
127
705
  }
128
706
  }
129
707
 
@@ -134,21 +712,36 @@ export interface FolderCreateParams {
134
712
  name: string;
135
713
 
136
714
  /**
137
- * Parent folder ID (optional)
715
+ * Folder description
138
716
  */
139
- parentId?: string;
717
+ description?: string;
718
+
719
+ /**
720
+ * Additional metadata
721
+ */
722
+ metadata?: unknown;
723
+
724
+ /**
725
+ * Parent folder ID
726
+ */
727
+ parentFolderId?: string;
140
728
  }
141
729
 
142
730
  export interface FolderUpdateParams {
143
731
  /**
144
- * New folder name
732
+ * New folder description
145
733
  */
146
- name?: string;
734
+ description?: string;
735
+
736
+ /**
737
+ * Updated metadata
738
+ */
739
+ metadata?: unknown;
147
740
 
148
741
  /**
149
- * New parent folder ID
742
+ * New folder name
150
743
  */
151
- parentId?: string;
744
+ name?: string;
152
745
  }
153
746
 
154
747
  export interface FolderListParams {
@@ -158,10 +751,25 @@ export interface FolderListParams {
158
751
  parentId?: unknown;
159
752
  }
160
753
 
754
+ export interface FolderMoveParams {
755
+ /**
756
+ * New parent folder ID or null for root level
757
+ */
758
+ parentFolderId: string | null;
759
+ }
760
+
161
761
  export declare namespace Folders {
162
762
  export {
763
+ type FolderCreateResponse as FolderCreateResponse,
764
+ type FolderRetrieveResponse as FolderRetrieveResponse,
765
+ type FolderUpdateResponse as FolderUpdateResponse,
766
+ type FolderListResponse as FolderListResponse,
767
+ type FolderGetTreeResponse as FolderGetTreeResponse,
768
+ type FolderListMaterialsResponse as FolderListMaterialsResponse,
769
+ type FolderMoveResponse as FolderMoveResponse,
163
770
  type FolderCreateParams as FolderCreateParams,
164
771
  type FolderUpdateParams as FolderUpdateParams,
165
772
  type FolderListParams as FolderListParams,
773
+ type FolderMoveParams as FolderMoveParams,
166
774
  };
167
775
  }