@stream-io/node-sdk 0.4.26 → 0.5.1

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.
Files changed (42) hide show
  1. package/dist/index.cjs.js +6292 -3831
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/index.es.mjs +6290 -3832
  5. package/dist/index.es.mjs.map +1 -1
  6. package/dist/src/ApiClient.d.ts +15 -0
  7. package/dist/src/StreamCall.d.ts +2 -2
  8. package/dist/src/StreamClient.d.ts +10 -1
  9. package/dist/src/StreamFeed.d.ts +4 -0
  10. package/dist/src/StreamFeedsClient.d.ts +5 -0
  11. package/dist/src/StreamVideoClient.d.ts +3 -2
  12. package/dist/src/gen/chat/ChannelApi.d.ts +29 -30
  13. package/dist/src/gen/chat/ChatApi.d.ts +145 -180
  14. package/dist/src/gen/common/CommonApi.d.ts +120 -83
  15. package/dist/src/gen/feeds/FeedApi.d.ts +25 -0
  16. package/dist/src/gen/feeds/FeedsApi.d.ts +195 -0
  17. package/dist/src/gen/models/index.d.ts +1498 -17
  18. package/dist/src/gen/moderation/ModerationApi.d.ts +28 -27
  19. package/dist/src/gen/video/CallApi.d.ts +42 -43
  20. package/dist/src/gen/video/VideoApi.d.ts +90 -89
  21. package/dist/src/gen-imports.d.ts +5 -0
  22. package/index.ts +3 -1
  23. package/package.json +1 -1
  24. package/src/{BaseApi.ts → ApiClient.ts} +27 -7
  25. package/src/StreamCall.ts +2 -2
  26. package/src/StreamClient.ts +51 -14
  27. package/src/StreamFeed.ts +7 -0
  28. package/src/StreamFeedsClient.ts +8 -0
  29. package/src/StreamVideoClient.ts +9 -6
  30. package/src/gen/chat/ChannelApi.ts +74 -64
  31. package/src/gen/chat/ChatApi.ts +548 -681
  32. package/src/gen/common/CommonApi.ts +679 -271
  33. package/src/gen/feeds/FeedApi.ts +130 -0
  34. package/src/gen/feeds/FeedsApi.ts +1801 -0
  35. package/src/gen/model-decoders/{index.ts → decoders.ts} +2294 -276
  36. package/src/gen/models/index.ts +4233 -2028
  37. package/src/gen/moderation/ModerationApi.ts +159 -98
  38. package/src/gen/video/CallApi.ts +97 -108
  39. package/src/gen/video/VideoApi.ts +294 -207
  40. package/src/gen-imports.ts +5 -0
  41. package/dist/src/BaseApi.d.ts +0 -11
  42. /package/dist/src/gen/model-decoders/{index.d.ts → decoders.d.ts} +0 -0
@@ -0,0 +1,1801 @@
1
+ import { ApiClient, StreamResponse } from '../../gen-imports';
2
+ import {
3
+ AcceptFeedMemberInviteRequest,
4
+ AcceptFeedMemberInviteResponse,
5
+ AcceptFollowRequest,
6
+ AcceptFollowResponse,
7
+ AddActivityRequest,
8
+ AddActivityResponse,
9
+ AddBookmarkRequest,
10
+ AddBookmarkResponse,
11
+ AddCommentReactionRequest,
12
+ AddCommentReactionResponse,
13
+ AddCommentRequest,
14
+ AddCommentResponse,
15
+ AddCommentsBatchRequest,
16
+ AddCommentsBatchResponse,
17
+ AddReactionRequest,
18
+ AddReactionResponse,
19
+ CastPollVoteRequest,
20
+ CreateFeedGroupRequest,
21
+ CreateFeedGroupResponse,
22
+ CreateFeedViewRequest,
23
+ CreateFeedViewResponse,
24
+ CreateFeedsBatchRequest,
25
+ CreateFeedsBatchResponse,
26
+ DeleteActivitiesRequest,
27
+ DeleteActivitiesResponse,
28
+ DeleteActivityReactionResponse,
29
+ DeleteActivityResponse,
30
+ DeleteBookmarkFolderResponse,
31
+ DeleteBookmarkResponse,
32
+ DeleteCommentReactionResponse,
33
+ DeleteCommentResponse,
34
+ DeleteFeedGroupResponse,
35
+ DeleteFeedResponse,
36
+ DeleteFeedUserDataResponse,
37
+ DeleteFeedViewResponse,
38
+ ExportFeedUserDataResponse,
39
+ FollowBatchRequest,
40
+ FollowBatchResponse,
41
+ GetActivityResponse,
42
+ GetCommentRepliesResponse,
43
+ GetCommentResponse,
44
+ GetCommentsResponse,
45
+ GetFeedGroupResponse,
46
+ GetFeedViewResponse,
47
+ GetFollowSuggestionsResponse,
48
+ GetOrCreateFeedRequest,
49
+ GetOrCreateFeedResponse,
50
+ ListFeedGroupsResponse,
51
+ ListFeedViewsResponse,
52
+ MarkActivityRequest,
53
+ PinActivityRequest,
54
+ PinActivityResponse,
55
+ PollVoteResponse,
56
+ QueryActivitiesRequest,
57
+ QueryActivitiesResponse,
58
+ QueryActivityReactionsRequest,
59
+ QueryActivityReactionsResponse,
60
+ QueryBookmarkFoldersRequest,
61
+ QueryBookmarkFoldersResponse,
62
+ QueryBookmarksRequest,
63
+ QueryBookmarksResponse,
64
+ QueryCommentReactionsRequest,
65
+ QueryCommentReactionsResponse,
66
+ QueryCommentsRequest,
67
+ QueryCommentsResponse,
68
+ QueryFeedMembersRequest,
69
+ QueryFeedMembersResponse,
70
+ QueryFeedsRequest,
71
+ QueryFeedsResponse,
72
+ QueryFollowsRequest,
73
+ QueryFollowsResponse,
74
+ RejectFeedMemberInviteRequest,
75
+ RejectFeedMemberInviteResponse,
76
+ RejectFollowRequest,
77
+ RejectFollowResponse,
78
+ Response,
79
+ SingleFollowRequest,
80
+ SingleFollowResponse,
81
+ UnfollowBatchRequest,
82
+ UnfollowBatchResponse,
83
+ UnfollowResponse,
84
+ UnpinActivityResponse,
85
+ UpdateActivityPartialRequest,
86
+ UpdateActivityPartialResponse,
87
+ UpdateActivityRequest,
88
+ UpdateActivityResponse,
89
+ UpdateBookmarkFolderRequest,
90
+ UpdateBookmarkFolderResponse,
91
+ UpdateBookmarkRequest,
92
+ UpdateBookmarkResponse,
93
+ UpdateCommentRequest,
94
+ UpdateCommentResponse,
95
+ UpdateFeedGroupRequest,
96
+ UpdateFeedGroupResponse,
97
+ UpdateFeedMembersRequest,
98
+ UpdateFeedMembersResponse,
99
+ UpdateFeedRequest,
100
+ UpdateFeedResponse,
101
+ UpdateFeedViewRequest,
102
+ UpdateFeedViewResponse,
103
+ UpdateFollowRequest,
104
+ UpdateFollowResponse,
105
+ UpsertActivitiesRequest,
106
+ UpsertActivitiesResponse,
107
+ } from '../models';
108
+ import { decoders } from '../model-decoders/decoders';
109
+
110
+ export class FeedsApi {
111
+ constructor(public readonly apiClient: ApiClient) {}
112
+
113
+ async addActivity(
114
+ request: AddActivityRequest,
115
+ ): Promise<StreamResponse<AddActivityResponse>> {
116
+ const body = {
117
+ type: request?.type,
118
+ fids: request?.fids,
119
+ expires_at: request?.expires_at,
120
+ id: request?.id,
121
+ parent_id: request?.parent_id,
122
+ poll_id: request?.poll_id,
123
+ text: request?.text,
124
+ user_id: request?.user_id,
125
+ visibility: request?.visibility,
126
+ visibility_tag: request?.visibility_tag,
127
+ attachments: request?.attachments,
128
+ filter_tags: request?.filter_tags,
129
+ interest_tags: request?.interest_tags,
130
+ mentioned_user_ids: request?.mentioned_user_ids,
131
+ custom: request?.custom,
132
+ location: request?.location,
133
+ search_data: request?.search_data,
134
+ };
135
+
136
+ const response = await this.apiClient.sendRequest<
137
+ StreamResponse<AddActivityResponse>
138
+ >(
139
+ 'POST',
140
+ '/api/v2/feeds/activities',
141
+ undefined,
142
+ undefined,
143
+ body,
144
+ 'application/json',
145
+ );
146
+
147
+ decoders.AddActivityResponse?.(response.body);
148
+
149
+ return { ...response.body, metadata: response.metadata };
150
+ }
151
+
152
+ async upsertActivities(
153
+ request: UpsertActivitiesRequest,
154
+ ): Promise<StreamResponse<UpsertActivitiesResponse>> {
155
+ const body = {
156
+ activities: request?.activities,
157
+ };
158
+
159
+ const response = await this.apiClient.sendRequest<
160
+ StreamResponse<UpsertActivitiesResponse>
161
+ >(
162
+ 'POST',
163
+ '/api/v2/feeds/activities/batch',
164
+ undefined,
165
+ undefined,
166
+ body,
167
+ 'application/json',
168
+ );
169
+
170
+ decoders.UpsertActivitiesResponse?.(response.body);
171
+
172
+ return { ...response.body, metadata: response.metadata };
173
+ }
174
+
175
+ async deleteActivities(
176
+ request: DeleteActivitiesRequest,
177
+ ): Promise<StreamResponse<DeleteActivitiesResponse>> {
178
+ const body = {
179
+ activity_ids: request?.activity_ids,
180
+ hard_delete: request?.hard_delete,
181
+ user_id: request?.user_id,
182
+ user: request?.user,
183
+ };
184
+
185
+ const response = await this.apiClient.sendRequest<
186
+ StreamResponse<DeleteActivitiesResponse>
187
+ >(
188
+ 'POST',
189
+ '/api/v2/feeds/activities/delete',
190
+ undefined,
191
+ undefined,
192
+ body,
193
+ 'application/json',
194
+ );
195
+
196
+ decoders.DeleteActivitiesResponse?.(response.body);
197
+
198
+ return { ...response.body, metadata: response.metadata };
199
+ }
200
+
201
+ async queryActivities(
202
+ request?: QueryActivitiesRequest,
203
+ ): Promise<StreamResponse<QueryActivitiesResponse>> {
204
+ const body = {
205
+ limit: request?.limit,
206
+ next: request?.next,
207
+ prev: request?.prev,
208
+ sort: request?.sort,
209
+ filter: request?.filter,
210
+ };
211
+
212
+ const response = await this.apiClient.sendRequest<
213
+ StreamResponse<QueryActivitiesResponse>
214
+ >(
215
+ 'POST',
216
+ '/api/v2/feeds/activities/query',
217
+ undefined,
218
+ undefined,
219
+ body,
220
+ 'application/json',
221
+ );
222
+
223
+ decoders.QueryActivitiesResponse?.(response.body);
224
+
225
+ return { ...response.body, metadata: response.metadata };
226
+ }
227
+
228
+ async deleteActivity(request: {
229
+ activity_id: string;
230
+ hard_delete?: boolean;
231
+ }): Promise<StreamResponse<DeleteActivityResponse>> {
232
+ const queryParams = {
233
+ hard_delete: request?.hard_delete,
234
+ };
235
+ const pathParams = {
236
+ activity_id: request?.activity_id,
237
+ };
238
+
239
+ const response = await this.apiClient.sendRequest<
240
+ StreamResponse<DeleteActivityResponse>
241
+ >(
242
+ 'DELETE',
243
+ '/api/v2/feeds/activities/{activity_id}',
244
+ pathParams,
245
+ queryParams,
246
+ );
247
+
248
+ decoders.DeleteActivityResponse?.(response.body);
249
+
250
+ return { ...response.body, metadata: response.metadata };
251
+ }
252
+
253
+ async getActivity(request: {
254
+ activity_id: string;
255
+ }): Promise<StreamResponse<GetActivityResponse>> {
256
+ const pathParams = {
257
+ activity_id: request?.activity_id,
258
+ };
259
+
260
+ const response = await this.apiClient.sendRequest<
261
+ StreamResponse<GetActivityResponse>
262
+ >('GET', '/api/v2/feeds/activities/{activity_id}', pathParams, undefined);
263
+
264
+ decoders.GetActivityResponse?.(response.body);
265
+
266
+ return { ...response.body, metadata: response.metadata };
267
+ }
268
+
269
+ async updateActivityPartial(
270
+ request: UpdateActivityPartialRequest & { activity_id: string },
271
+ ): Promise<StreamResponse<UpdateActivityPartialResponse>> {
272
+ const pathParams = {
273
+ activity_id: request?.activity_id,
274
+ };
275
+ const body = {
276
+ user_id: request?.user_id,
277
+ unset: request?.unset,
278
+ set: request?.set,
279
+ user: request?.user,
280
+ };
281
+
282
+ const response = await this.apiClient.sendRequest<
283
+ StreamResponse<UpdateActivityPartialResponse>
284
+ >(
285
+ 'PATCH',
286
+ '/api/v2/feeds/activities/{activity_id}',
287
+ pathParams,
288
+ undefined,
289
+ body,
290
+ 'application/json',
291
+ );
292
+
293
+ decoders.UpdateActivityPartialResponse?.(response.body);
294
+
295
+ return { ...response.body, metadata: response.metadata };
296
+ }
297
+
298
+ async updateActivity(
299
+ request: UpdateActivityRequest & { activity_id: string },
300
+ ): Promise<StreamResponse<UpdateActivityResponse>> {
301
+ const pathParams = {
302
+ activity_id: request?.activity_id,
303
+ };
304
+ const body = {
305
+ expires_at: request?.expires_at,
306
+ poll_id: request?.poll_id,
307
+ text: request?.text,
308
+ user_id: request?.user_id,
309
+ visibility: request?.visibility,
310
+ attachments: request?.attachments,
311
+ filter_tags: request?.filter_tags,
312
+ interest_tags: request?.interest_tags,
313
+ custom: request?.custom,
314
+ location: request?.location,
315
+ user: request?.user,
316
+ };
317
+
318
+ const response = await this.apiClient.sendRequest<
319
+ StreamResponse<UpdateActivityResponse>
320
+ >(
321
+ 'PUT',
322
+ '/api/v2/feeds/activities/{activity_id}',
323
+ pathParams,
324
+ undefined,
325
+ body,
326
+ 'application/json',
327
+ );
328
+
329
+ decoders.UpdateActivityResponse?.(response.body);
330
+
331
+ return { ...response.body, metadata: response.metadata };
332
+ }
333
+
334
+ async deleteBookmark(request: {
335
+ activity_id: string;
336
+ folder_id?: string;
337
+ user_id?: string;
338
+ }): Promise<StreamResponse<DeleteBookmarkResponse>> {
339
+ const queryParams = {
340
+ folder_id: request?.folder_id,
341
+ user_id: request?.user_id,
342
+ };
343
+ const pathParams = {
344
+ activity_id: request?.activity_id,
345
+ };
346
+
347
+ const response = await this.apiClient.sendRequest<
348
+ StreamResponse<DeleteBookmarkResponse>
349
+ >(
350
+ 'DELETE',
351
+ '/api/v2/feeds/activities/{activity_id}/bookmarks',
352
+ pathParams,
353
+ queryParams,
354
+ );
355
+
356
+ decoders.DeleteBookmarkResponse?.(response.body);
357
+
358
+ return { ...response.body, metadata: response.metadata };
359
+ }
360
+
361
+ async updateBookmark(
362
+ request: UpdateBookmarkRequest & { activity_id: string },
363
+ ): Promise<StreamResponse<UpdateBookmarkResponse>> {
364
+ const pathParams = {
365
+ activity_id: request?.activity_id,
366
+ };
367
+ const body = {
368
+ folder_id: request?.folder_id,
369
+ new_folder_id: request?.new_folder_id,
370
+ user_id: request?.user_id,
371
+ custom: request?.custom,
372
+ new_folder: request?.new_folder,
373
+ user: request?.user,
374
+ };
375
+
376
+ const response = await this.apiClient.sendRequest<
377
+ StreamResponse<UpdateBookmarkResponse>
378
+ >(
379
+ 'PATCH',
380
+ '/api/v2/feeds/activities/{activity_id}/bookmarks',
381
+ pathParams,
382
+ undefined,
383
+ body,
384
+ 'application/json',
385
+ );
386
+
387
+ decoders.UpdateBookmarkResponse?.(response.body);
388
+
389
+ return { ...response.body, metadata: response.metadata };
390
+ }
391
+
392
+ async addBookmark(
393
+ request: AddBookmarkRequest & { activity_id: string },
394
+ ): Promise<StreamResponse<AddBookmarkResponse>> {
395
+ const pathParams = {
396
+ activity_id: request?.activity_id,
397
+ };
398
+ const body = {
399
+ folder_id: request?.folder_id,
400
+ user_id: request?.user_id,
401
+ custom: request?.custom,
402
+ new_folder: request?.new_folder,
403
+ user: request?.user,
404
+ };
405
+
406
+ const response = await this.apiClient.sendRequest<
407
+ StreamResponse<AddBookmarkResponse>
408
+ >(
409
+ 'POST',
410
+ '/api/v2/feeds/activities/{activity_id}/bookmarks',
411
+ pathParams,
412
+ undefined,
413
+ body,
414
+ 'application/json',
415
+ );
416
+
417
+ decoders.AddBookmarkResponse?.(response.body);
418
+
419
+ return { ...response.body, metadata: response.metadata };
420
+ }
421
+
422
+ async castPollVote(
423
+ request: CastPollVoteRequest & { activity_id: string; poll_id: string },
424
+ ): Promise<StreamResponse<PollVoteResponse>> {
425
+ const pathParams = {
426
+ activity_id: request?.activity_id,
427
+ poll_id: request?.poll_id,
428
+ };
429
+ const body = {
430
+ user_id: request?.user_id,
431
+ user: request?.user,
432
+ vote: request?.vote,
433
+ };
434
+
435
+ const response = await this.apiClient.sendRequest<
436
+ StreamResponse<PollVoteResponse>
437
+ >(
438
+ 'POST',
439
+ '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote',
440
+ pathParams,
441
+ undefined,
442
+ body,
443
+ 'application/json',
444
+ );
445
+
446
+ decoders.PollVoteResponse?.(response.body);
447
+
448
+ return { ...response.body, metadata: response.metadata };
449
+ }
450
+
451
+ async deletePollVote(request: {
452
+ activity_id: string;
453
+ poll_id: string;
454
+ vote_id: string;
455
+ user_id?: string;
456
+ }): Promise<StreamResponse<PollVoteResponse>> {
457
+ const queryParams = {
458
+ user_id: request?.user_id,
459
+ };
460
+ const pathParams = {
461
+ activity_id: request?.activity_id,
462
+ poll_id: request?.poll_id,
463
+ vote_id: request?.vote_id,
464
+ };
465
+
466
+ const response = await this.apiClient.sendRequest<
467
+ StreamResponse<PollVoteResponse>
468
+ >(
469
+ 'DELETE',
470
+ '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote/{vote_id}',
471
+ pathParams,
472
+ queryParams,
473
+ );
474
+
475
+ decoders.PollVoteResponse?.(response.body);
476
+
477
+ return { ...response.body, metadata: response.metadata };
478
+ }
479
+
480
+ async addReaction(
481
+ request: AddReactionRequest & { activity_id: string },
482
+ ): Promise<StreamResponse<AddReactionResponse>> {
483
+ const pathParams = {
484
+ activity_id: request?.activity_id,
485
+ };
486
+ const body = {
487
+ type: request?.type,
488
+ create_notification_activity: request?.create_notification_activity,
489
+ user_id: request?.user_id,
490
+ custom: request?.custom,
491
+ user: request?.user,
492
+ };
493
+
494
+ const response = await this.apiClient.sendRequest<
495
+ StreamResponse<AddReactionResponse>
496
+ >(
497
+ 'POST',
498
+ '/api/v2/feeds/activities/{activity_id}/reactions',
499
+ pathParams,
500
+ undefined,
501
+ body,
502
+ 'application/json',
503
+ );
504
+
505
+ decoders.AddReactionResponse?.(response.body);
506
+
507
+ return { ...response.body, metadata: response.metadata };
508
+ }
509
+
510
+ async queryActivityReactions(
511
+ request: QueryActivityReactionsRequest & { activity_id: string },
512
+ ): Promise<StreamResponse<QueryActivityReactionsResponse>> {
513
+ const pathParams = {
514
+ activity_id: request?.activity_id,
515
+ };
516
+ const body = {
517
+ limit: request?.limit,
518
+ next: request?.next,
519
+ prev: request?.prev,
520
+ sort: request?.sort,
521
+ filter: request?.filter,
522
+ };
523
+
524
+ const response = await this.apiClient.sendRequest<
525
+ StreamResponse<QueryActivityReactionsResponse>
526
+ >(
527
+ 'POST',
528
+ '/api/v2/feeds/activities/{activity_id}/reactions/query',
529
+ pathParams,
530
+ undefined,
531
+ body,
532
+ 'application/json',
533
+ );
534
+
535
+ decoders.QueryActivityReactionsResponse?.(response.body);
536
+
537
+ return { ...response.body, metadata: response.metadata };
538
+ }
539
+
540
+ async deleteActivityReaction(request: {
541
+ activity_id: string;
542
+ type: string;
543
+ user_id?: string;
544
+ }): Promise<StreamResponse<DeleteActivityReactionResponse>> {
545
+ const queryParams = {
546
+ user_id: request?.user_id,
547
+ };
548
+ const pathParams = {
549
+ activity_id: request?.activity_id,
550
+ type: request?.type,
551
+ };
552
+
553
+ const response = await this.apiClient.sendRequest<
554
+ StreamResponse<DeleteActivityReactionResponse>
555
+ >(
556
+ 'DELETE',
557
+ '/api/v2/feeds/activities/{activity_id}/reactions/{type}',
558
+ pathParams,
559
+ queryParams,
560
+ );
561
+
562
+ decoders.DeleteActivityReactionResponse?.(response.body);
563
+
564
+ return { ...response.body, metadata: response.metadata };
565
+ }
566
+
567
+ async queryBookmarkFolders(
568
+ request?: QueryBookmarkFoldersRequest,
569
+ ): Promise<StreamResponse<QueryBookmarkFoldersResponse>> {
570
+ const body = {
571
+ limit: request?.limit,
572
+ next: request?.next,
573
+ prev: request?.prev,
574
+ sort: request?.sort,
575
+ filter: request?.filter,
576
+ };
577
+
578
+ const response = await this.apiClient.sendRequest<
579
+ StreamResponse<QueryBookmarkFoldersResponse>
580
+ >(
581
+ 'POST',
582
+ '/api/v2/feeds/bookmark_folders/query',
583
+ undefined,
584
+ undefined,
585
+ body,
586
+ 'application/json',
587
+ );
588
+
589
+ decoders.QueryBookmarkFoldersResponse?.(response.body);
590
+
591
+ return { ...response.body, metadata: response.metadata };
592
+ }
593
+
594
+ async deleteBookmarkFolder(request: {
595
+ folder_id: string;
596
+ }): Promise<StreamResponse<DeleteBookmarkFolderResponse>> {
597
+ const pathParams = {
598
+ folder_id: request?.folder_id,
599
+ };
600
+
601
+ const response = await this.apiClient.sendRequest<
602
+ StreamResponse<DeleteBookmarkFolderResponse>
603
+ >(
604
+ 'DELETE',
605
+ '/api/v2/feeds/bookmark_folders/{folder_id}',
606
+ pathParams,
607
+ undefined,
608
+ );
609
+
610
+ decoders.DeleteBookmarkFolderResponse?.(response.body);
611
+
612
+ return { ...response.body, metadata: response.metadata };
613
+ }
614
+
615
+ async updateBookmarkFolder(
616
+ request: UpdateBookmarkFolderRequest & { folder_id: string },
617
+ ): Promise<StreamResponse<UpdateBookmarkFolderResponse>> {
618
+ const pathParams = {
619
+ folder_id: request?.folder_id,
620
+ };
621
+ const body = {
622
+ name: request?.name,
623
+ user_id: request?.user_id,
624
+ custom: request?.custom,
625
+ user: request?.user,
626
+ };
627
+
628
+ const response = await this.apiClient.sendRequest<
629
+ StreamResponse<UpdateBookmarkFolderResponse>
630
+ >(
631
+ 'PATCH',
632
+ '/api/v2/feeds/bookmark_folders/{folder_id}',
633
+ pathParams,
634
+ undefined,
635
+ body,
636
+ 'application/json',
637
+ );
638
+
639
+ decoders.UpdateBookmarkFolderResponse?.(response.body);
640
+
641
+ return { ...response.body, metadata: response.metadata };
642
+ }
643
+
644
+ async queryBookmarks(
645
+ request?: QueryBookmarksRequest,
646
+ ): Promise<StreamResponse<QueryBookmarksResponse>> {
647
+ const body = {
648
+ limit: request?.limit,
649
+ next: request?.next,
650
+ prev: request?.prev,
651
+ sort: request?.sort,
652
+ filter: request?.filter,
653
+ };
654
+
655
+ const response = await this.apiClient.sendRequest<
656
+ StreamResponse<QueryBookmarksResponse>
657
+ >(
658
+ 'POST',
659
+ '/api/v2/feeds/bookmarks/query',
660
+ undefined,
661
+ undefined,
662
+ body,
663
+ 'application/json',
664
+ );
665
+
666
+ decoders.QueryBookmarksResponse?.(response.body);
667
+
668
+ return { ...response.body, metadata: response.metadata };
669
+ }
670
+
671
+ async getComments(request: {
672
+ object_id: string;
673
+ object_type: string;
674
+ depth?: number;
675
+ sort?: string;
676
+ replies_limit?: number;
677
+ limit?: number;
678
+ prev?: string;
679
+ next?: string;
680
+ }): Promise<StreamResponse<GetCommentsResponse>> {
681
+ const queryParams = {
682
+ object_id: request?.object_id,
683
+ object_type: request?.object_type,
684
+ depth: request?.depth,
685
+ sort: request?.sort,
686
+ replies_limit: request?.replies_limit,
687
+ limit: request?.limit,
688
+ prev: request?.prev,
689
+ next: request?.next,
690
+ };
691
+
692
+ const response = await this.apiClient.sendRequest<
693
+ StreamResponse<GetCommentsResponse>
694
+ >('GET', '/api/v2/feeds/comments', undefined, queryParams);
695
+
696
+ decoders.GetCommentsResponse?.(response.body);
697
+
698
+ return { ...response.body, metadata: response.metadata };
699
+ }
700
+
701
+ async addComment(
702
+ request: AddCommentRequest,
703
+ ): Promise<StreamResponse<AddCommentResponse>> {
704
+ const body = {
705
+ comment: request?.comment,
706
+ object_id: request?.object_id,
707
+ object_type: request?.object_type,
708
+ create_notification_activity: request?.create_notification_activity,
709
+ parent_id: request?.parent_id,
710
+ user_id: request?.user_id,
711
+ attachments: request?.attachments,
712
+ mentioned_user_ids: request?.mentioned_user_ids,
713
+ custom: request?.custom,
714
+ user: request?.user,
715
+ };
716
+
717
+ const response = await this.apiClient.sendRequest<
718
+ StreamResponse<AddCommentResponse>
719
+ >(
720
+ 'POST',
721
+ '/api/v2/feeds/comments',
722
+ undefined,
723
+ undefined,
724
+ body,
725
+ 'application/json',
726
+ );
727
+
728
+ decoders.AddCommentResponse?.(response.body);
729
+
730
+ return { ...response.body, metadata: response.metadata };
731
+ }
732
+
733
+ async addCommentsBatch(
734
+ request: AddCommentsBatchRequest,
735
+ ): Promise<StreamResponse<AddCommentsBatchResponse>> {
736
+ const body = {
737
+ comments: request?.comments,
738
+ };
739
+
740
+ const response = await this.apiClient.sendRequest<
741
+ StreamResponse<AddCommentsBatchResponse>
742
+ >(
743
+ 'POST',
744
+ '/api/v2/feeds/comments/batch',
745
+ undefined,
746
+ undefined,
747
+ body,
748
+ 'application/json',
749
+ );
750
+
751
+ decoders.AddCommentsBatchResponse?.(response.body);
752
+
753
+ return { ...response.body, metadata: response.metadata };
754
+ }
755
+
756
+ async queryComments(
757
+ request: QueryCommentsRequest,
758
+ ): Promise<StreamResponse<QueryCommentsResponse>> {
759
+ const body = {
760
+ filter: request?.filter,
761
+ limit: request?.limit,
762
+ next: request?.next,
763
+ prev: request?.prev,
764
+ sort: request?.sort,
765
+ };
766
+
767
+ const response = await this.apiClient.sendRequest<
768
+ StreamResponse<QueryCommentsResponse>
769
+ >(
770
+ 'POST',
771
+ '/api/v2/feeds/comments/query',
772
+ undefined,
773
+ undefined,
774
+ body,
775
+ 'application/json',
776
+ );
777
+
778
+ decoders.QueryCommentsResponse?.(response.body);
779
+
780
+ return { ...response.body, metadata: response.metadata };
781
+ }
782
+
783
+ async deleteComment(request: {
784
+ comment_id: string;
785
+ }): Promise<StreamResponse<DeleteCommentResponse>> {
786
+ const pathParams = {
787
+ comment_id: request?.comment_id,
788
+ };
789
+
790
+ const response = await this.apiClient.sendRequest<
791
+ StreamResponse<DeleteCommentResponse>
792
+ >('DELETE', '/api/v2/feeds/comments/{comment_id}', pathParams, undefined);
793
+
794
+ decoders.DeleteCommentResponse?.(response.body);
795
+
796
+ return { ...response.body, metadata: response.metadata };
797
+ }
798
+
799
+ async getComment(request: {
800
+ comment_id: string;
801
+ }): Promise<StreamResponse<GetCommentResponse>> {
802
+ const pathParams = {
803
+ comment_id: request?.comment_id,
804
+ };
805
+
806
+ const response = await this.apiClient.sendRequest<
807
+ StreamResponse<GetCommentResponse>
808
+ >('GET', '/api/v2/feeds/comments/{comment_id}', pathParams, undefined);
809
+
810
+ decoders.GetCommentResponse?.(response.body);
811
+
812
+ return { ...response.body, metadata: response.metadata };
813
+ }
814
+
815
+ async updateComment(
816
+ request: UpdateCommentRequest & { comment_id: string },
817
+ ): Promise<StreamResponse<UpdateCommentResponse>> {
818
+ const pathParams = {
819
+ comment_id: request?.comment_id,
820
+ };
821
+ const body = {
822
+ comment: request?.comment,
823
+ custom: request?.custom,
824
+ };
825
+
826
+ const response = await this.apiClient.sendRequest<
827
+ StreamResponse<UpdateCommentResponse>
828
+ >(
829
+ 'PATCH',
830
+ '/api/v2/feeds/comments/{comment_id}',
831
+ pathParams,
832
+ undefined,
833
+ body,
834
+ 'application/json',
835
+ );
836
+
837
+ decoders.UpdateCommentResponse?.(response.body);
838
+
839
+ return { ...response.body, metadata: response.metadata };
840
+ }
841
+
842
+ async addCommentReaction(
843
+ request: AddCommentReactionRequest & { comment_id: string },
844
+ ): Promise<StreamResponse<AddCommentReactionResponse>> {
845
+ const pathParams = {
846
+ comment_id: request?.comment_id,
847
+ };
848
+ const body = {
849
+ type: request?.type,
850
+ create_notification_activity: request?.create_notification_activity,
851
+ user_id: request?.user_id,
852
+ custom: request?.custom,
853
+ user: request?.user,
854
+ };
855
+
856
+ const response = await this.apiClient.sendRequest<
857
+ StreamResponse<AddCommentReactionResponse>
858
+ >(
859
+ 'POST',
860
+ '/api/v2/feeds/comments/{comment_id}/reactions',
861
+ pathParams,
862
+ undefined,
863
+ body,
864
+ 'application/json',
865
+ );
866
+
867
+ decoders.AddCommentReactionResponse?.(response.body);
868
+
869
+ return { ...response.body, metadata: response.metadata };
870
+ }
871
+
872
+ async queryCommentReactions(
873
+ request: QueryCommentReactionsRequest & { comment_id: string },
874
+ ): Promise<StreamResponse<QueryCommentReactionsResponse>> {
875
+ const pathParams = {
876
+ comment_id: request?.comment_id,
877
+ };
878
+ const body = {
879
+ limit: request?.limit,
880
+ next: request?.next,
881
+ prev: request?.prev,
882
+ sort: request?.sort,
883
+ filter: request?.filter,
884
+ };
885
+
886
+ const response = await this.apiClient.sendRequest<
887
+ StreamResponse<QueryCommentReactionsResponse>
888
+ >(
889
+ 'POST',
890
+ '/api/v2/feeds/comments/{comment_id}/reactions/query',
891
+ pathParams,
892
+ undefined,
893
+ body,
894
+ 'application/json',
895
+ );
896
+
897
+ decoders.QueryCommentReactionsResponse?.(response.body);
898
+
899
+ return { ...response.body, metadata: response.metadata };
900
+ }
901
+
902
+ async deleteCommentReaction(request: {
903
+ comment_id: string;
904
+ type: string;
905
+ user_id?: string;
906
+ }): Promise<StreamResponse<DeleteCommentReactionResponse>> {
907
+ const queryParams = {
908
+ user_id: request?.user_id,
909
+ };
910
+ const pathParams = {
911
+ comment_id: request?.comment_id,
912
+ type: request?.type,
913
+ };
914
+
915
+ const response = await this.apiClient.sendRequest<
916
+ StreamResponse<DeleteCommentReactionResponse>
917
+ >(
918
+ 'DELETE',
919
+ '/api/v2/feeds/comments/{comment_id}/reactions/{type}',
920
+ pathParams,
921
+ queryParams,
922
+ );
923
+
924
+ decoders.DeleteCommentReactionResponse?.(response.body);
925
+
926
+ return { ...response.body, metadata: response.metadata };
927
+ }
928
+
929
+ async getCommentReplies(request: {
930
+ comment_id: string;
931
+ depth?: number;
932
+ sort?: string;
933
+ replies_limit?: number;
934
+ limit?: number;
935
+ prev?: string;
936
+ next?: string;
937
+ }): Promise<StreamResponse<GetCommentRepliesResponse>> {
938
+ const queryParams = {
939
+ depth: request?.depth,
940
+ sort: request?.sort,
941
+ replies_limit: request?.replies_limit,
942
+ limit: request?.limit,
943
+ prev: request?.prev,
944
+ next: request?.next,
945
+ };
946
+ const pathParams = {
947
+ comment_id: request?.comment_id,
948
+ };
949
+
950
+ const response = await this.apiClient.sendRequest<
951
+ StreamResponse<GetCommentRepliesResponse>
952
+ >(
953
+ 'GET',
954
+ '/api/v2/feeds/comments/{comment_id}/replies',
955
+ pathParams,
956
+ queryParams,
957
+ );
958
+
959
+ decoders.GetCommentRepliesResponse?.(response.body);
960
+
961
+ return { ...response.body, metadata: response.metadata };
962
+ }
963
+
964
+ async listFeedGroups(): Promise<StreamResponse<ListFeedGroupsResponse>> {
965
+ const response = await this.apiClient.sendRequest<
966
+ StreamResponse<ListFeedGroupsResponse>
967
+ >('GET', '/api/v2/feeds/feed_groups', undefined, undefined);
968
+
969
+ decoders.ListFeedGroupsResponse?.(response.body);
970
+
971
+ return { ...response.body, metadata: response.metadata };
972
+ }
973
+
974
+ async createFeedGroup(
975
+ request: CreateFeedGroupRequest,
976
+ ): Promise<StreamResponse<CreateFeedGroupResponse>> {
977
+ const body = {
978
+ feed_group_id: request?.feed_group_id,
979
+ default_view_id: request?.default_view_id,
980
+ default_visibility: request?.default_visibility,
981
+ custom: request?.custom,
982
+ notification: request?.notification,
983
+ };
984
+
985
+ const response = await this.apiClient.sendRequest<
986
+ StreamResponse<CreateFeedGroupResponse>
987
+ >(
988
+ 'POST',
989
+ '/api/v2/feeds/feed_groups',
990
+ undefined,
991
+ undefined,
992
+ body,
993
+ 'application/json',
994
+ );
995
+
996
+ decoders.CreateFeedGroupResponse?.(response.body);
997
+
998
+ return { ...response.body, metadata: response.metadata };
999
+ }
1000
+
1001
+ async deleteFeedGroup(request: {
1002
+ feed_group_id: string;
1003
+ hard_delete?: boolean;
1004
+ }): Promise<StreamResponse<DeleteFeedGroupResponse>> {
1005
+ const queryParams = {
1006
+ hard_delete: request?.hard_delete,
1007
+ };
1008
+ const pathParams = {
1009
+ feed_group_id: request?.feed_group_id,
1010
+ };
1011
+
1012
+ const response = await this.apiClient.sendRequest<
1013
+ StreamResponse<DeleteFeedGroupResponse>
1014
+ >(
1015
+ 'DELETE',
1016
+ '/api/v2/feeds/feed_groups/{feed_group_id}',
1017
+ pathParams,
1018
+ queryParams,
1019
+ );
1020
+
1021
+ decoders.DeleteFeedGroupResponse?.(response.body);
1022
+
1023
+ return { ...response.body, metadata: response.metadata };
1024
+ }
1025
+
1026
+ async getFeedGroup(request: {
1027
+ feed_group_id: string;
1028
+ }): Promise<StreamResponse<GetFeedGroupResponse>> {
1029
+ const pathParams = {
1030
+ feed_group_id: request?.feed_group_id,
1031
+ };
1032
+
1033
+ const response = await this.apiClient.sendRequest<
1034
+ StreamResponse<GetFeedGroupResponse>
1035
+ >(
1036
+ 'GET',
1037
+ '/api/v2/feeds/feed_groups/{feed_group_id}',
1038
+ pathParams,
1039
+ undefined,
1040
+ );
1041
+
1042
+ decoders.GetFeedGroupResponse?.(response.body);
1043
+
1044
+ return { ...response.body, metadata: response.metadata };
1045
+ }
1046
+
1047
+ async updateFeedGroup(
1048
+ request: UpdateFeedGroupRequest & { feed_group_id: string },
1049
+ ): Promise<StreamResponse<UpdateFeedGroupResponse>> {
1050
+ const pathParams = {
1051
+ feed_group_id: request?.feed_group_id,
1052
+ };
1053
+ const body = {
1054
+ default_view_id: request?.default_view_id,
1055
+ custom: request?.custom,
1056
+ notification: request?.notification,
1057
+ };
1058
+
1059
+ const response = await this.apiClient.sendRequest<
1060
+ StreamResponse<UpdateFeedGroupResponse>
1061
+ >(
1062
+ 'PUT',
1063
+ '/api/v2/feeds/feed_groups/{feed_group_id}',
1064
+ pathParams,
1065
+ undefined,
1066
+ body,
1067
+ 'application/json',
1068
+ );
1069
+
1070
+ decoders.UpdateFeedGroupResponse?.(response.body);
1071
+
1072
+ return { ...response.body, metadata: response.metadata };
1073
+ }
1074
+
1075
+ async deleteFeed(request: {
1076
+ feed_group_id: string;
1077
+ feed_id: string;
1078
+ hard_delete?: boolean;
1079
+ }): Promise<StreamResponse<DeleteFeedResponse>> {
1080
+ const queryParams = {
1081
+ hard_delete: request?.hard_delete,
1082
+ };
1083
+ const pathParams = {
1084
+ feed_group_id: request?.feed_group_id,
1085
+ feed_id: request?.feed_id,
1086
+ };
1087
+
1088
+ const response = await this.apiClient.sendRequest<
1089
+ StreamResponse<DeleteFeedResponse>
1090
+ >(
1091
+ 'DELETE',
1092
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',
1093
+ pathParams,
1094
+ queryParams,
1095
+ );
1096
+
1097
+ decoders.DeleteFeedResponse?.(response.body);
1098
+
1099
+ return { ...response.body, metadata: response.metadata };
1100
+ }
1101
+
1102
+ async getOrCreateFeed(
1103
+ request: GetOrCreateFeedRequest & {
1104
+ feed_group_id: string;
1105
+ feed_id: string;
1106
+ },
1107
+ ): Promise<StreamResponse<GetOrCreateFeedResponse>> {
1108
+ const pathParams = {
1109
+ feed_group_id: request?.feed_group_id,
1110
+ feed_id: request?.feed_id,
1111
+ };
1112
+ const body = {
1113
+ limit: request?.limit,
1114
+ next: request?.next,
1115
+ prev: request?.prev,
1116
+ user_id: request?.user_id,
1117
+ view: request?.view,
1118
+ watch: request?.watch,
1119
+ activity_selector_options: request?.activity_selector_options,
1120
+ data: request?.data,
1121
+ external_ranking: request?.external_ranking,
1122
+ filter: request?.filter,
1123
+ followers_pagination: request?.followers_pagination,
1124
+ following_pagination: request?.following_pagination,
1125
+ interest_weights: request?.interest_weights,
1126
+ member_pagination: request?.member_pagination,
1127
+ user: request?.user,
1128
+ };
1129
+
1130
+ const response = await this.apiClient.sendRequest<
1131
+ StreamResponse<GetOrCreateFeedResponse>
1132
+ >(
1133
+ 'POST',
1134
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',
1135
+ pathParams,
1136
+ undefined,
1137
+ body,
1138
+ 'application/json',
1139
+ );
1140
+
1141
+ decoders.GetOrCreateFeedResponse?.(response.body);
1142
+
1143
+ return { ...response.body, metadata: response.metadata };
1144
+ }
1145
+
1146
+ async updateFeed(
1147
+ request: UpdateFeedRequest & { feed_group_id: string; feed_id: string },
1148
+ ): Promise<StreamResponse<UpdateFeedResponse>> {
1149
+ const pathParams = {
1150
+ feed_group_id: request?.feed_group_id,
1151
+ feed_id: request?.feed_id,
1152
+ };
1153
+ const body = {
1154
+ created_by_id: request?.created_by_id,
1155
+ custom: request?.custom,
1156
+ };
1157
+
1158
+ const response = await this.apiClient.sendRequest<
1159
+ StreamResponse<UpdateFeedResponse>
1160
+ >(
1161
+ 'PUT',
1162
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',
1163
+ pathParams,
1164
+ undefined,
1165
+ body,
1166
+ 'application/json',
1167
+ );
1168
+
1169
+ decoders.UpdateFeedResponse?.(response.body);
1170
+
1171
+ return { ...response.body, metadata: response.metadata };
1172
+ }
1173
+
1174
+ async markActivity(
1175
+ request: MarkActivityRequest & { feed_group_id: string; feed_id: string },
1176
+ ): Promise<StreamResponse<Response>> {
1177
+ const pathParams = {
1178
+ feed_group_id: request?.feed_group_id,
1179
+ feed_id: request?.feed_id,
1180
+ };
1181
+ const body = {
1182
+ mark_all_read: request?.mark_all_read,
1183
+ mark_all_seen: request?.mark_all_seen,
1184
+ user_id: request?.user_id,
1185
+ mark_read: request?.mark_read,
1186
+ mark_watched: request?.mark_watched,
1187
+ user: request?.user,
1188
+ };
1189
+
1190
+ const response = await this.apiClient.sendRequest<StreamResponse<Response>>(
1191
+ 'POST',
1192
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/mark/batch',
1193
+ pathParams,
1194
+ undefined,
1195
+ body,
1196
+ 'application/json',
1197
+ );
1198
+
1199
+ decoders.Response?.(response.body);
1200
+
1201
+ return { ...response.body, metadata: response.metadata };
1202
+ }
1203
+
1204
+ async unpinActivity(request: {
1205
+ feed_group_id: string;
1206
+ feed_id: string;
1207
+ activity_id: string;
1208
+ user_id?: string;
1209
+ }): Promise<StreamResponse<UnpinActivityResponse>> {
1210
+ const queryParams = {
1211
+ user_id: request?.user_id,
1212
+ };
1213
+ const pathParams = {
1214
+ feed_group_id: request?.feed_group_id,
1215
+ feed_id: request?.feed_id,
1216
+ activity_id: request?.activity_id,
1217
+ };
1218
+
1219
+ const response = await this.apiClient.sendRequest<
1220
+ StreamResponse<UnpinActivityResponse>
1221
+ >(
1222
+ 'DELETE',
1223
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',
1224
+ pathParams,
1225
+ queryParams,
1226
+ );
1227
+
1228
+ decoders.UnpinActivityResponse?.(response.body);
1229
+
1230
+ return { ...response.body, metadata: response.metadata };
1231
+ }
1232
+
1233
+ async pinActivity(
1234
+ request: PinActivityRequest & {
1235
+ feed_group_id: string;
1236
+ feed_id: string;
1237
+ activity_id: string;
1238
+ },
1239
+ ): Promise<StreamResponse<PinActivityResponse>> {
1240
+ const pathParams = {
1241
+ feed_group_id: request?.feed_group_id,
1242
+ feed_id: request?.feed_id,
1243
+ activity_id: request?.activity_id,
1244
+ };
1245
+ const body = {
1246
+ user_id: request?.user_id,
1247
+ user: request?.user,
1248
+ };
1249
+
1250
+ const response = await this.apiClient.sendRequest<
1251
+ StreamResponse<PinActivityResponse>
1252
+ >(
1253
+ 'POST',
1254
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',
1255
+ pathParams,
1256
+ undefined,
1257
+ body,
1258
+ 'application/json',
1259
+ );
1260
+
1261
+ decoders.PinActivityResponse?.(response.body);
1262
+
1263
+ return { ...response.body, metadata: response.metadata };
1264
+ }
1265
+
1266
+ async updateFeedMembers(
1267
+ request: UpdateFeedMembersRequest & {
1268
+ feed_group_id: string;
1269
+ feed_id: string;
1270
+ },
1271
+ ): Promise<StreamResponse<UpdateFeedMembersResponse>> {
1272
+ const pathParams = {
1273
+ feed_group_id: request?.feed_group_id,
1274
+ feed_id: request?.feed_id,
1275
+ };
1276
+ const body = {
1277
+ operation: request?.operation,
1278
+ limit: request?.limit,
1279
+ next: request?.next,
1280
+ prev: request?.prev,
1281
+ members: request?.members,
1282
+ };
1283
+
1284
+ const response = await this.apiClient.sendRequest<
1285
+ StreamResponse<UpdateFeedMembersResponse>
1286
+ >(
1287
+ 'PATCH',
1288
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members',
1289
+ pathParams,
1290
+ undefined,
1291
+ body,
1292
+ 'application/json',
1293
+ );
1294
+
1295
+ decoders.UpdateFeedMembersResponse?.(response.body);
1296
+
1297
+ return { ...response.body, metadata: response.metadata };
1298
+ }
1299
+
1300
+ async acceptFeedMemberInvite(
1301
+ request: AcceptFeedMemberInviteRequest & {
1302
+ feed_id: string;
1303
+ feed_group_id: string;
1304
+ },
1305
+ ): Promise<StreamResponse<AcceptFeedMemberInviteResponse>> {
1306
+ const pathParams = {
1307
+ feed_id: request?.feed_id,
1308
+ feed_group_id: request?.feed_group_id,
1309
+ };
1310
+ const body = {
1311
+ user_id: request?.user_id,
1312
+ user: request?.user,
1313
+ };
1314
+
1315
+ const response = await this.apiClient.sendRequest<
1316
+ StreamResponse<AcceptFeedMemberInviteResponse>
1317
+ >(
1318
+ 'POST',
1319
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/accept',
1320
+ pathParams,
1321
+ undefined,
1322
+ body,
1323
+ 'application/json',
1324
+ );
1325
+
1326
+ decoders.AcceptFeedMemberInviteResponse?.(response.body);
1327
+
1328
+ return { ...response.body, metadata: response.metadata };
1329
+ }
1330
+
1331
+ async queryFeedMembers(
1332
+ request: QueryFeedMembersRequest & {
1333
+ feed_group_id: string;
1334
+ feed_id: string;
1335
+ },
1336
+ ): Promise<StreamResponse<QueryFeedMembersResponse>> {
1337
+ const pathParams = {
1338
+ feed_group_id: request?.feed_group_id,
1339
+ feed_id: request?.feed_id,
1340
+ };
1341
+ const body = {
1342
+ limit: request?.limit,
1343
+ next: request?.next,
1344
+ prev: request?.prev,
1345
+ sort: request?.sort,
1346
+ filter: request?.filter,
1347
+ };
1348
+
1349
+ const response = await this.apiClient.sendRequest<
1350
+ StreamResponse<QueryFeedMembersResponse>
1351
+ >(
1352
+ 'POST',
1353
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/query',
1354
+ pathParams,
1355
+ undefined,
1356
+ body,
1357
+ 'application/json',
1358
+ );
1359
+
1360
+ decoders.QueryFeedMembersResponse?.(response.body);
1361
+
1362
+ return { ...response.body, metadata: response.metadata };
1363
+ }
1364
+
1365
+ async rejectFeedMemberInvite(
1366
+ request: RejectFeedMemberInviteRequest & {
1367
+ feed_group_id: string;
1368
+ feed_id: string;
1369
+ },
1370
+ ): Promise<StreamResponse<RejectFeedMemberInviteResponse>> {
1371
+ const pathParams = {
1372
+ feed_group_id: request?.feed_group_id,
1373
+ feed_id: request?.feed_id,
1374
+ };
1375
+ const body = {
1376
+ user_id: request?.user_id,
1377
+ user: request?.user,
1378
+ };
1379
+
1380
+ const response = await this.apiClient.sendRequest<
1381
+ StreamResponse<RejectFeedMemberInviteResponse>
1382
+ >(
1383
+ 'POST',
1384
+ '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/reject',
1385
+ pathParams,
1386
+ undefined,
1387
+ body,
1388
+ 'application/json',
1389
+ );
1390
+
1391
+ decoders.RejectFeedMemberInviteResponse?.(response.body);
1392
+
1393
+ return { ...response.body, metadata: response.metadata };
1394
+ }
1395
+
1396
+ async getFollowSuggestions(request: {
1397
+ feed_group_id: string;
1398
+ limit?: number;
1399
+ }): Promise<StreamResponse<GetFollowSuggestionsResponse>> {
1400
+ const queryParams = {
1401
+ limit: request?.limit,
1402
+ };
1403
+ const pathParams = {
1404
+ feed_group_id: request?.feed_group_id,
1405
+ };
1406
+
1407
+ const response = await this.apiClient.sendRequest<
1408
+ StreamResponse<GetFollowSuggestionsResponse>
1409
+ >(
1410
+ 'GET',
1411
+ '/api/v2/feeds/feed_groups/{feed_group_id}/follow_suggestions',
1412
+ pathParams,
1413
+ queryParams,
1414
+ );
1415
+
1416
+ decoders.GetFollowSuggestionsResponse?.(response.body);
1417
+
1418
+ return { ...response.body, metadata: response.metadata };
1419
+ }
1420
+
1421
+ async listFeedViews(): Promise<StreamResponse<ListFeedViewsResponse>> {
1422
+ const response = await this.apiClient.sendRequest<
1423
+ StreamResponse<ListFeedViewsResponse>
1424
+ >('GET', '/api/v2/feeds/feed_views', undefined, undefined);
1425
+
1426
+ decoders.ListFeedViewsResponse?.(response.body);
1427
+
1428
+ return { ...response.body, metadata: response.metadata };
1429
+ }
1430
+
1431
+ async createFeedView(
1432
+ request: CreateFeedViewRequest,
1433
+ ): Promise<StreamResponse<CreateFeedViewResponse>> {
1434
+ const body = {
1435
+ view_id: request?.view_id,
1436
+ activity_processors: request?.activity_processors,
1437
+ activity_selectors: request?.activity_selectors,
1438
+ aggregation: request?.aggregation,
1439
+ ranking: request?.ranking,
1440
+ };
1441
+
1442
+ const response = await this.apiClient.sendRequest<
1443
+ StreamResponse<CreateFeedViewResponse>
1444
+ >(
1445
+ 'POST',
1446
+ '/api/v2/feeds/feed_views',
1447
+ undefined,
1448
+ undefined,
1449
+ body,
1450
+ 'application/json',
1451
+ );
1452
+
1453
+ decoders.CreateFeedViewResponse?.(response.body);
1454
+
1455
+ return { ...response.body, metadata: response.metadata };
1456
+ }
1457
+
1458
+ async deleteFeedView(request: {
1459
+ view_id: string;
1460
+ }): Promise<StreamResponse<DeleteFeedViewResponse>> {
1461
+ const pathParams = {
1462
+ view_id: request?.view_id,
1463
+ };
1464
+
1465
+ const response = await this.apiClient.sendRequest<
1466
+ StreamResponse<DeleteFeedViewResponse>
1467
+ >('DELETE', '/api/v2/feeds/feed_views/{view_id}', pathParams, undefined);
1468
+
1469
+ decoders.DeleteFeedViewResponse?.(response.body);
1470
+
1471
+ return { ...response.body, metadata: response.metadata };
1472
+ }
1473
+
1474
+ async getFeedView(request: {
1475
+ view_id: string;
1476
+ }): Promise<StreamResponse<GetFeedViewResponse>> {
1477
+ const pathParams = {
1478
+ view_id: request?.view_id,
1479
+ };
1480
+
1481
+ const response = await this.apiClient.sendRequest<
1482
+ StreamResponse<GetFeedViewResponse>
1483
+ >('GET', '/api/v2/feeds/feed_views/{view_id}', pathParams, undefined);
1484
+
1485
+ decoders.GetFeedViewResponse?.(response.body);
1486
+
1487
+ return { ...response.body, metadata: response.metadata };
1488
+ }
1489
+
1490
+ async updateFeedView(
1491
+ request: UpdateFeedViewRequest & { view_id: string },
1492
+ ): Promise<StreamResponse<UpdateFeedViewResponse>> {
1493
+ const pathParams = {
1494
+ view_id: request?.view_id,
1495
+ };
1496
+ const body = {
1497
+ activity_processors: request?.activity_processors,
1498
+ activity_selectors: request?.activity_selectors,
1499
+ aggregation: request?.aggregation,
1500
+ ranking: request?.ranking,
1501
+ };
1502
+
1503
+ const response = await this.apiClient.sendRequest<
1504
+ StreamResponse<UpdateFeedViewResponse>
1505
+ >(
1506
+ 'PUT',
1507
+ '/api/v2/feeds/feed_views/{view_id}',
1508
+ pathParams,
1509
+ undefined,
1510
+ body,
1511
+ 'application/json',
1512
+ );
1513
+
1514
+ decoders.UpdateFeedViewResponse?.(response.body);
1515
+
1516
+ return { ...response.body, metadata: response.metadata };
1517
+ }
1518
+
1519
+ async createFeedsBatch(
1520
+ request: CreateFeedsBatchRequest,
1521
+ ): Promise<StreamResponse<CreateFeedsBatchResponse>> {
1522
+ const body = {
1523
+ feeds: request?.feeds,
1524
+ };
1525
+
1526
+ const response = await this.apiClient.sendRequest<
1527
+ StreamResponse<CreateFeedsBatchResponse>
1528
+ >(
1529
+ 'POST',
1530
+ '/api/v2/feeds/feeds/batch',
1531
+ undefined,
1532
+ undefined,
1533
+ body,
1534
+ 'application/json',
1535
+ );
1536
+
1537
+ decoders.CreateFeedsBatchResponse?.(response.body);
1538
+
1539
+ return { ...response.body, metadata: response.metadata };
1540
+ }
1541
+
1542
+ async feedsQueryFeeds(
1543
+ request?: QueryFeedsRequest,
1544
+ ): Promise<StreamResponse<QueryFeedsResponse>> {
1545
+ const body = {
1546
+ limit: request?.limit,
1547
+ next: request?.next,
1548
+ prev: request?.prev,
1549
+ watch: request?.watch,
1550
+ sort: request?.sort,
1551
+ filter: request?.filter,
1552
+ };
1553
+
1554
+ const response = await this.apiClient.sendRequest<
1555
+ StreamResponse<QueryFeedsResponse>
1556
+ >(
1557
+ 'POST',
1558
+ '/api/v2/feeds/feeds/query',
1559
+ undefined,
1560
+ undefined,
1561
+ body,
1562
+ 'application/json',
1563
+ );
1564
+
1565
+ decoders.QueryFeedsResponse?.(response.body);
1566
+
1567
+ return { ...response.body, metadata: response.metadata };
1568
+ }
1569
+
1570
+ async updateFollow(
1571
+ request: UpdateFollowRequest,
1572
+ ): Promise<StreamResponse<UpdateFollowResponse>> {
1573
+ const body = {
1574
+ source: request?.source,
1575
+ target: request?.target,
1576
+ create_notification_activity: request?.create_notification_activity,
1577
+ follower_role: request?.follower_role,
1578
+ push_preference: request?.push_preference,
1579
+ custom: request?.custom,
1580
+ };
1581
+
1582
+ const response = await this.apiClient.sendRequest<
1583
+ StreamResponse<UpdateFollowResponse>
1584
+ >(
1585
+ 'PATCH',
1586
+ '/api/v2/feeds/follows',
1587
+ undefined,
1588
+ undefined,
1589
+ body,
1590
+ 'application/json',
1591
+ );
1592
+
1593
+ decoders.UpdateFollowResponse?.(response.body);
1594
+
1595
+ return { ...response.body, metadata: response.metadata };
1596
+ }
1597
+
1598
+ async follow(
1599
+ request: SingleFollowRequest,
1600
+ ): Promise<StreamResponse<SingleFollowResponse>> {
1601
+ const body = {
1602
+ source: request?.source,
1603
+ target: request?.target,
1604
+ create_notification_activity: request?.create_notification_activity,
1605
+ push_preference: request?.push_preference,
1606
+ custom: request?.custom,
1607
+ };
1608
+
1609
+ const response = await this.apiClient.sendRequest<
1610
+ StreamResponse<SingleFollowResponse>
1611
+ >(
1612
+ 'POST',
1613
+ '/api/v2/feeds/follows',
1614
+ undefined,
1615
+ undefined,
1616
+ body,
1617
+ 'application/json',
1618
+ );
1619
+
1620
+ decoders.SingleFollowResponse?.(response.body);
1621
+
1622
+ return { ...response.body, metadata: response.metadata };
1623
+ }
1624
+
1625
+ async acceptFollow(
1626
+ request: AcceptFollowRequest,
1627
+ ): Promise<StreamResponse<AcceptFollowResponse>> {
1628
+ const body = {
1629
+ source_fid: request?.source_fid,
1630
+ target_fid: request?.target_fid,
1631
+ follower_role: request?.follower_role,
1632
+ };
1633
+
1634
+ const response = await this.apiClient.sendRequest<
1635
+ StreamResponse<AcceptFollowResponse>
1636
+ >(
1637
+ 'POST',
1638
+ '/api/v2/feeds/follows/accept',
1639
+ undefined,
1640
+ undefined,
1641
+ body,
1642
+ 'application/json',
1643
+ );
1644
+
1645
+ decoders.AcceptFollowResponse?.(response.body);
1646
+
1647
+ return { ...response.body, metadata: response.metadata };
1648
+ }
1649
+
1650
+ async followBatch(
1651
+ request: FollowBatchRequest,
1652
+ ): Promise<StreamResponse<FollowBatchResponse>> {
1653
+ const body = {
1654
+ follows: request?.follows,
1655
+ };
1656
+
1657
+ const response = await this.apiClient.sendRequest<
1658
+ StreamResponse<FollowBatchResponse>
1659
+ >(
1660
+ 'POST',
1661
+ '/api/v2/feeds/follows/batch',
1662
+ undefined,
1663
+ undefined,
1664
+ body,
1665
+ 'application/json',
1666
+ );
1667
+
1668
+ decoders.FollowBatchResponse?.(response.body);
1669
+
1670
+ return { ...response.body, metadata: response.metadata };
1671
+ }
1672
+
1673
+ async queryFollows(
1674
+ request?: QueryFollowsRequest,
1675
+ ): Promise<StreamResponse<QueryFollowsResponse>> {
1676
+ const body = {
1677
+ limit: request?.limit,
1678
+ next: request?.next,
1679
+ prev: request?.prev,
1680
+ sort: request?.sort,
1681
+ filter: request?.filter,
1682
+ };
1683
+
1684
+ const response = await this.apiClient.sendRequest<
1685
+ StreamResponse<QueryFollowsResponse>
1686
+ >(
1687
+ 'POST',
1688
+ '/api/v2/feeds/follows/query',
1689
+ undefined,
1690
+ undefined,
1691
+ body,
1692
+ 'application/json',
1693
+ );
1694
+
1695
+ decoders.QueryFollowsResponse?.(response.body);
1696
+
1697
+ return { ...response.body, metadata: response.metadata };
1698
+ }
1699
+
1700
+ async rejectFollow(
1701
+ request: RejectFollowRequest,
1702
+ ): Promise<StreamResponse<RejectFollowResponse>> {
1703
+ const body = {
1704
+ source_fid: request?.source_fid,
1705
+ target_fid: request?.target_fid,
1706
+ };
1707
+
1708
+ const response = await this.apiClient.sendRequest<
1709
+ StreamResponse<RejectFollowResponse>
1710
+ >(
1711
+ 'POST',
1712
+ '/api/v2/feeds/follows/reject',
1713
+ undefined,
1714
+ undefined,
1715
+ body,
1716
+ 'application/json',
1717
+ );
1718
+
1719
+ decoders.RejectFollowResponse?.(response.body);
1720
+
1721
+ return { ...response.body, metadata: response.metadata };
1722
+ }
1723
+
1724
+ async unfollow(request: {
1725
+ source: string;
1726
+ target: string;
1727
+ }): Promise<StreamResponse<UnfollowResponse>> {
1728
+ const pathParams = {
1729
+ source: request?.source,
1730
+ target: request?.target,
1731
+ };
1732
+
1733
+ const response = await this.apiClient.sendRequest<
1734
+ StreamResponse<UnfollowResponse>
1735
+ >(
1736
+ 'DELETE',
1737
+ '/api/v2/feeds/follows/{source}/{target}',
1738
+ pathParams,
1739
+ undefined,
1740
+ );
1741
+
1742
+ decoders.UnfollowResponse?.(response.body);
1743
+
1744
+ return { ...response.body, metadata: response.metadata };
1745
+ }
1746
+
1747
+ async unfollowBatch(
1748
+ request: UnfollowBatchRequest,
1749
+ ): Promise<StreamResponse<UnfollowBatchResponse>> {
1750
+ const body = {
1751
+ follows: request?.follows,
1752
+ };
1753
+
1754
+ const response = await this.apiClient.sendRequest<
1755
+ StreamResponse<UnfollowBatchResponse>
1756
+ >(
1757
+ 'POST',
1758
+ '/api/v2/feeds/unfollow/batch',
1759
+ undefined,
1760
+ undefined,
1761
+ body,
1762
+ 'application/json',
1763
+ );
1764
+
1765
+ decoders.UnfollowBatchResponse?.(response.body);
1766
+
1767
+ return { ...response.body, metadata: response.metadata };
1768
+ }
1769
+
1770
+ async deleteFeedUserData(request: {
1771
+ user_id: string;
1772
+ }): Promise<StreamResponse<DeleteFeedUserDataResponse>> {
1773
+ const pathParams = {
1774
+ user_id: request?.user_id,
1775
+ };
1776
+
1777
+ const response = await this.apiClient.sendRequest<
1778
+ StreamResponse<DeleteFeedUserDataResponse>
1779
+ >('DELETE', '/api/v2/feeds/users/{user_id}/delete', pathParams, undefined);
1780
+
1781
+ decoders.DeleteFeedUserDataResponse?.(response.body);
1782
+
1783
+ return { ...response.body, metadata: response.metadata };
1784
+ }
1785
+
1786
+ async exportFeedUserData(request: {
1787
+ user_id: string;
1788
+ }): Promise<StreamResponse<ExportFeedUserDataResponse>> {
1789
+ const pathParams = {
1790
+ user_id: request?.user_id,
1791
+ };
1792
+
1793
+ const response = await this.apiClient.sendRequest<
1794
+ StreamResponse<ExportFeedUserDataResponse>
1795
+ >('POST', '/api/v2/feeds/users/{user_id}/export', pathParams, undefined);
1796
+
1797
+ decoders.ExportFeedUserDataResponse?.(response.body);
1798
+
1799
+ return { ...response.body, metadata: response.metadata };
1800
+ }
1801
+ }