@stream-io/node-sdk 0.4.23 → 0.4.25

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.
package/dist/index.es.mjs CHANGED
@@ -138,7 +138,7 @@ class BaseApi {
138
138
  Authorization: this.apiConfig.token,
139
139
  'stream-auth-type': 'jwt',
140
140
  'Content-Type': 'application/json',
141
- 'X-Stream-Client': 'stream-node-' + "0.4.23",
141
+ 'X-Stream-Client': 'stream-node-' + "0.4.25",
142
142
  'Accept-Encoding': 'gzip',
143
143
  'x-client-request-id': clientRequestId,
144
144
  };
@@ -259,6 +259,7 @@ decoders.ActionLogResponse = (input) => {
259
259
  };
260
260
  decoders.AppResponseFields = (input) => {
261
261
  const typeMappings = {
262
+ event_hooks: { type: 'EventHook', isSingle: false },
262
263
  call_types: { type: 'CallType', isSingle: false },
263
264
  channel_configs: { type: 'ChannelConfig', isSingle: false },
264
265
  push_notifications: { type: 'PushNotificationFields', isSingle: true },
@@ -313,6 +314,55 @@ decoders.BlockedUserResponse = (input) => {
313
314
  };
314
315
  return decode(typeMappings, input);
315
316
  };
317
+ decoders.Call = (input) => {
318
+ const typeMappings = {
319
+ created_at: { type: 'DatetimeType', isSingle: true },
320
+ updated_at: { type: 'DatetimeType', isSingle: true },
321
+ blocked_users: { type: 'User', isSingle: false },
322
+ egresses: { type: 'CallEgress', isSingle: false },
323
+ members: { type: 'CallMember', isSingle: false },
324
+ deleted_at: { type: 'DatetimeType', isSingle: true },
325
+ egress_updated_at: { type: 'DatetimeType', isSingle: true },
326
+ ended_at: { type: 'DatetimeType', isSingle: true },
327
+ last_heartbeat_at: { type: 'DatetimeType', isSingle: true },
328
+ starts_at: { type: 'DatetimeType', isSingle: true },
329
+ call_type: { type: 'CallType', isSingle: true },
330
+ created_by: { type: 'User', isSingle: true },
331
+ session: { type: 'CallSession', isSingle: true },
332
+ };
333
+ return decode(typeMappings, input);
334
+ };
335
+ decoders.CallEgress = (input) => {
336
+ const typeMappings = {
337
+ started_at: { type: 'DatetimeType', isSingle: true },
338
+ updated_at: { type: 'DatetimeType', isSingle: true },
339
+ stopped_at: { type: 'DatetimeType', isSingle: true },
340
+ };
341
+ return decode(typeMappings, input);
342
+ };
343
+ decoders.CallMember = (input) => {
344
+ const typeMappings = {
345
+ created_at: { type: 'DatetimeType', isSingle: true },
346
+ updated_at: { type: 'DatetimeType', isSingle: true },
347
+ deleted_at: { type: 'DatetimeType', isSingle: true },
348
+ user: { type: 'User', isSingle: true },
349
+ };
350
+ return decode(typeMappings, input);
351
+ };
352
+ decoders.CallParticipant = (input) => {
353
+ const typeMappings = {
354
+ joined_at: { type: 'DatetimeType', isSingle: true },
355
+ ban_expires: { type: 'DatetimeType', isSingle: true },
356
+ created_at: { type: 'DatetimeType', isSingle: true },
357
+ deactivated_at: { type: 'DatetimeType', isSingle: true },
358
+ deleted_at: { type: 'DatetimeType', isSingle: true },
359
+ last_active: { type: 'DatetimeType', isSingle: true },
360
+ last_engaged_at: { type: 'DatetimeType', isSingle: true },
361
+ revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },
362
+ updated_at: { type: 'DatetimeType', isSingle: true },
363
+ };
364
+ return decode(typeMappings, input);
365
+ };
316
366
  decoders.CallParticipantResponse = (input) => {
317
367
  const typeMappings = {
318
368
  joined_at: { type: 'DatetimeType', isSingle: true },
@@ -345,6 +395,24 @@ decoders.CallResponse = (input) => {
345
395
  };
346
396
  return decode(typeMappings, input);
347
397
  };
398
+ decoders.CallSession = (input) => {
399
+ const typeMappings = {
400
+ created_at: { type: 'DatetimeType', isSingle: true },
401
+ active_sf_us: { type: 'SFUIDLastSeen', isSingle: false },
402
+ participants: { type: 'CallParticipant', isSingle: false },
403
+ accepted_by: { type: 'DatetimeType', isSingle: false },
404
+ missed_by: { type: 'DatetimeType', isSingle: false },
405
+ rejected_by: { type: 'DatetimeType', isSingle: false },
406
+ deleted_at: { type: 'DatetimeType', isSingle: true },
407
+ ended_at: { type: 'DatetimeType', isSingle: true },
408
+ live_ended_at: { type: 'DatetimeType', isSingle: true },
409
+ live_started_at: { type: 'DatetimeType', isSingle: true },
410
+ ring_at: { type: 'DatetimeType', isSingle: true },
411
+ started_at: { type: 'DatetimeType', isSingle: true },
412
+ timer_ends_at: { type: 'DatetimeType', isSingle: true },
413
+ };
414
+ return decode(typeMappings, input);
415
+ };
348
416
  decoders.CallSessionResponse = (input) => {
349
417
  const typeMappings = {
350
418
  participants: { type: 'CallParticipantResponse', isSingle: false },
@@ -722,6 +790,13 @@ decoders.EntityCreatorResponse = (input) => {
722
790
  };
723
791
  return decode(typeMappings, input);
724
792
  };
793
+ decoders.EventHook = (input) => {
794
+ const typeMappings = {
795
+ created_at: { type: 'DatetimeType', isSingle: true },
796
+ updated_at: { type: 'DatetimeType', isSingle: true },
797
+ };
798
+ return decode(typeMappings, input);
799
+ };
725
800
  decoders.EventResponse = (input) => {
726
801
  const typeMappings = {
727
802
  event: { type: 'WSEvent', isSingle: true },
@@ -740,6 +815,7 @@ decoders.Flag = (input) => {
740
815
  const typeMappings = {
741
816
  created_at: { type: 'DatetimeType', isSingle: true },
742
817
  updated_at: { type: 'DatetimeType', isSingle: true },
818
+ review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
743
819
  user: { type: 'User', isSingle: true },
744
820
  };
745
821
  return decode(typeMappings, input);
@@ -791,6 +867,7 @@ decoders.GetBlockedUsersResponse = (input) => {
791
867
  };
792
868
  decoders.GetCallReportResponse = (input) => {
793
869
  const typeMappings = {
870
+ video_reactions: { type: 'VideoReactionsResponse', isSingle: false },
794
871
  chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true },
795
872
  };
796
873
  return decode(typeMappings, input);
@@ -861,6 +938,12 @@ decoders.GetOrCreateCallResponse = (input) => {
861
938
  };
862
939
  return decode(typeMappings, input);
863
940
  };
941
+ decoders.GetPushTemplatesResponse = (input) => {
942
+ const typeMappings = {
943
+ templates: { type: 'PushTemplate', isSingle: false },
944
+ };
945
+ return decode(typeMappings, input);
946
+ };
864
947
  decoders.GetReactionsResponse = (input) => {
865
948
  const typeMappings = {
866
949
  reactions: { type: 'Reaction', isSingle: false },
@@ -1015,6 +1098,7 @@ decoders.Message = (input) => {
1015
1098
  pinned_by: { type: 'User', isSingle: true },
1016
1099
  poll: { type: 'Poll', isSingle: true },
1017
1100
  quoted_message: { type: 'Message', isSingle: true },
1101
+ reminder: { type: 'MessageReminder', isSingle: true },
1018
1102
  user: { type: 'User', isSingle: true },
1019
1103
  };
1020
1104
  return decode(typeMappings, input);
@@ -1057,6 +1141,17 @@ decoders.MessageReadEvent = (input) => {
1057
1141
  };
1058
1142
  return decode(typeMappings, input);
1059
1143
  };
1144
+ decoders.MessageReminder = (input) => {
1145
+ const typeMappings = {
1146
+ created_at: { type: 'DatetimeType', isSingle: true },
1147
+ updated_at: { type: 'DatetimeType', isSingle: true },
1148
+ remind_at: { type: 'DatetimeType', isSingle: true },
1149
+ channel: { type: 'Channel', isSingle: true },
1150
+ message: { type: 'Message', isSingle: true },
1151
+ user: { type: 'User', isSingle: true },
1152
+ };
1153
+ return decode(typeMappings, input);
1154
+ };
1060
1155
  decoders.MessageResponse = (input) => {
1061
1156
  const typeMappings = {
1062
1157
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1075,6 +1170,7 @@ decoders.MessageResponse = (input) => {
1075
1170
  poll: { type: 'PollResponseData', isSingle: true },
1076
1171
  quoted_message: { type: 'MessageResponse', isSingle: true },
1077
1172
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1173
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1078
1174
  };
1079
1175
  return decode(typeMappings, input);
1080
1176
  };
@@ -1103,6 +1199,14 @@ decoders.MessageWithChannelResponse = (input) => {
1103
1199
  poll: { type: 'PollResponseData', isSingle: true },
1104
1200
  quoted_message: { type: 'MessageResponse', isSingle: true },
1105
1201
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1202
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1203
+ };
1204
+ return decode(typeMappings, input);
1205
+ };
1206
+ decoders.ModerationFlagResponse = (input) => {
1207
+ const typeMappings = {
1208
+ review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
1209
+ user: { type: 'UserResponse', isSingle: true },
1106
1210
  };
1107
1211
  return decode(typeMappings, input);
1108
1212
  };
@@ -1248,6 +1352,7 @@ decoders.PushProvider = (input) => {
1248
1352
  created_at: { type: 'DatetimeType', isSingle: true },
1249
1353
  updated_at: { type: 'DatetimeType', isSingle: true },
1250
1354
  disabled_at: { type: 'DatetimeType', isSingle: true },
1355
+ push_templates: { type: 'PushTemplate', isSingle: false },
1251
1356
  };
1252
1357
  return decode(typeMappings, input);
1253
1358
  };
@@ -1259,6 +1364,13 @@ decoders.PushProviderResponse = (input) => {
1259
1364
  };
1260
1365
  return decode(typeMappings, input);
1261
1366
  };
1367
+ decoders.PushTemplate = (input) => {
1368
+ const typeMappings = {
1369
+ created_at: { type: 'DatetimeType', isSingle: true },
1370
+ updated_at: { type: 'DatetimeType', isSingle: true },
1371
+ };
1372
+ return decode(typeMappings, input);
1373
+ };
1262
1374
  decoders.QueryBannedUsersResponse = (input) => {
1263
1375
  const typeMappings = {
1264
1376
  bans: { type: 'BanResponse', isSingle: false },
@@ -1340,6 +1452,12 @@ decoders.QueryModerationConfigsResponse = (input) => {
1340
1452
  };
1341
1453
  return decode(typeMappings, input);
1342
1454
  };
1455
+ decoders.QueryModerationFlagsResponse = (input) => {
1456
+ const typeMappings = {
1457
+ flags: { type: 'ModerationFlagResponse', isSingle: false },
1458
+ };
1459
+ return decode(typeMappings, input);
1460
+ };
1343
1461
  decoders.QueryModerationLogsResponse = (input) => {
1344
1462
  const typeMappings = {
1345
1463
  logs: { type: 'ActionLogResponse', isSingle: false },
@@ -1358,6 +1476,12 @@ decoders.QueryReactionsResponse = (input) => {
1358
1476
  };
1359
1477
  return decode(typeMappings, input);
1360
1478
  };
1479
+ decoders.QueryRemindersResponse = (input) => {
1480
+ const typeMappings = {
1481
+ reminders: { type: 'ReminderResponseData', isSingle: false },
1482
+ };
1483
+ return decode(typeMappings, input);
1484
+ };
1361
1485
  decoders.QueryReviewQueueResponse = (input) => {
1362
1486
  const typeMappings = {
1363
1487
  items: { type: 'ReviewQueueItemResponse', isSingle: false },
@@ -1424,6 +1548,17 @@ decoders.ReadStateResponse = (input) => {
1424
1548
  };
1425
1549
  return decode(typeMappings, input);
1426
1550
  };
1551
+ decoders.ReminderResponseData = (input) => {
1552
+ const typeMappings = {
1553
+ created_at: { type: 'DatetimeType', isSingle: true },
1554
+ updated_at: { type: 'DatetimeType', isSingle: true },
1555
+ remind_at: { type: 'DatetimeType', isSingle: true },
1556
+ channel: { type: 'ChannelResponse', isSingle: true },
1557
+ message: { type: 'Message', isSingle: true },
1558
+ user: { type: 'User', isSingle: true },
1559
+ };
1560
+ return decode(typeMappings, input);
1561
+ };
1427
1562
  decoders.ReviewQueueItem = (input) => {
1428
1563
  const typeMappings = {
1429
1564
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1432,6 +1567,7 @@ decoders.ReviewQueueItem = (input) => {
1432
1567
  bans: { type: 'Ban', isSingle: false },
1433
1568
  flags: { type: 'Flag', isSingle: false },
1434
1569
  assigned_to: { type: 'User', isSingle: true },
1570
+ call: { type: 'Call', isSingle: true },
1435
1571
  entity_creator: { type: 'EntityCreator', isSingle: true },
1436
1572
  feeds_v2_reaction: { type: 'Reaction', isSingle: true },
1437
1573
  message: { type: 'Message', isSingle: true },
@@ -1448,6 +1584,7 @@ decoders.ReviewQueueItemResponse = (input) => {
1448
1584
  completed_at: { type: 'DatetimeType', isSingle: true },
1449
1585
  reviewed_at: { type: 'DatetimeType', isSingle: true },
1450
1586
  assigned_to: { type: 'UserResponse', isSingle: true },
1587
+ call: { type: 'CallResponse', isSingle: true },
1451
1588
  entity_creator: { type: 'EntityCreatorResponse', isSingle: true },
1452
1589
  feeds_v2_reaction: { type: 'Reaction', isSingle: true },
1453
1590
  message: { type: 'MessageResponse', isSingle: true },
@@ -1462,6 +1599,12 @@ decoders.Role = (input) => {
1462
1599
  };
1463
1600
  return decode(typeMappings, input);
1464
1601
  };
1602
+ decoders.SFUIDLastSeen = (input) => {
1603
+ const typeMappings = {
1604
+ last_seen: { type: 'DatetimeType', isSingle: true },
1605
+ };
1606
+ return decode(typeMappings, input);
1607
+ };
1465
1608
  decoders.SearchResult = (input) => {
1466
1609
  const typeMappings = {
1467
1610
  message: { type: 'SearchResultMessage', isSingle: true },
@@ -1487,6 +1630,7 @@ decoders.SearchResultMessage = (input) => {
1487
1630
  poll: { type: 'PollResponseData', isSingle: true },
1488
1631
  quoted_message: { type: 'MessageResponse', isSingle: true },
1489
1632
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1633
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1490
1634
  };
1491
1635
  return decode(typeMappings, input);
1492
1636
  };
@@ -1680,6 +1824,12 @@ decoders.UpdateMessageResponse = (input) => {
1680
1824
  };
1681
1825
  return decode(typeMappings, input);
1682
1826
  };
1827
+ decoders.UpdateReminderResponse = (input) => {
1828
+ const typeMappings = {
1829
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1830
+ };
1831
+ return decode(typeMappings, input);
1832
+ };
1683
1833
  decoders.UpdateThreadPartialResponse = (input) => {
1684
1834
  const typeMappings = {
1685
1835
  thread: { type: 'ThreadResponse', isSingle: true },
@@ -1717,6 +1867,12 @@ decoders.UpsertPushProviderResponse = (input) => {
1717
1867
  };
1718
1868
  return decode(typeMappings, input);
1719
1869
  };
1870
+ decoders.UpsertPushTemplateResponse = (input) => {
1871
+ const typeMappings = {
1872
+ template: { type: 'PushTemplate', isSingle: true },
1873
+ };
1874
+ return decode(typeMappings, input);
1875
+ };
1720
1876
  decoders.User = (input) => {
1721
1877
  const typeMappings = {
1722
1878
  ban_expires: { type: 'DatetimeType', isSingle: true },
@@ -1778,6 +1934,18 @@ decoders.UserResponseCommonFields = (input) => {
1778
1934
  };
1779
1935
  return decode(typeMappings, input);
1780
1936
  };
1937
+ decoders.VideoReactionOverTimeResponse = (input) => {
1938
+ const typeMappings = {
1939
+ by_minute: { type: 'CountByMinuteResponse', isSingle: false },
1940
+ };
1941
+ return decode(typeMappings, input);
1942
+ };
1943
+ decoders.VideoReactionsResponse = (input) => {
1944
+ const typeMappings = {
1945
+ count_over_time: { type: 'VideoReactionOverTimeResponse', isSingle: true },
1946
+ };
1947
+ return decode(typeMappings, input);
1948
+ };
1781
1949
  decoders.WSEvent = (input) => {
1782
1950
  const typeMappings = {
1783
1951
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1842,6 +2010,7 @@ class CommonApi extends BaseApi {
1842
2010
  sqs_url: request?.sqs_url,
1843
2011
  webhook_url: request?.webhook_url,
1844
2012
  allowed_flag_reasons: request?.allowed_flag_reasons,
2013
+ event_hooks: request?.event_hooks,
1845
2014
  image_moderation_block_labels: request?.image_moderation_block_labels,
1846
2015
  image_moderation_labels: request?.image_moderation_labels,
1847
2016
  user_search_disallowed_roles: request?.user_search_disallowed_roles,
@@ -1854,6 +2023,7 @@ class CommonApi extends BaseApi {
1854
2023
  grants: request?.grants,
1855
2024
  huawei_config: request?.huawei_config,
1856
2025
  image_upload_config: request?.image_upload_config,
2026
+ moderation_dashboard_preferences: request?.moderation_dashboard_preferences,
1857
2027
  push_config: request?.push_config,
1858
2028
  xiaomi_config: request?.xiaomi_config,
1859
2029
  };
@@ -1917,6 +2087,7 @@ class CommonApi extends BaseApi {
1917
2087
  this.checkPush = async (request) => {
1918
2088
  const body = {
1919
2089
  apn_template: request?.apn_template,
2090
+ event_type: request?.event_type,
1920
2091
  firebase_data_template: request?.firebase_data_template,
1921
2092
  firebase_template: request?.firebase_template,
1922
2093
  message_id: request?.message_id,
@@ -2161,6 +2332,41 @@ class CommonApi extends BaseApi {
2161
2332
  decoders.GetTaskResponse?.(response.body);
2162
2333
  return { ...response.body, metadata: response.metadata };
2163
2334
  };
2335
+ this.deleteFile = async (request) => {
2336
+ const queryParams = {
2337
+ url: request?.url,
2338
+ };
2339
+ const response = await this.sendRequest('DELETE', '/api/v2/uploads/file', undefined, queryParams);
2340
+ decoders.Response?.(response.body);
2341
+ return { ...response.body, metadata: response.metadata };
2342
+ };
2343
+ this.uploadFile = async (request) => {
2344
+ const body = {
2345
+ file: request?.file,
2346
+ user: request?.user,
2347
+ };
2348
+ const response = await this.sendRequest('POST', '/api/v2/uploads/file', undefined, undefined, body);
2349
+ decoders.FileUploadResponse?.(response.body);
2350
+ return { ...response.body, metadata: response.metadata };
2351
+ };
2352
+ this.deleteImage = async (request) => {
2353
+ const queryParams = {
2354
+ url: request?.url,
2355
+ };
2356
+ const response = await this.sendRequest('DELETE', '/api/v2/uploads/image', undefined, queryParams);
2357
+ decoders.Response?.(response.body);
2358
+ return { ...response.body, metadata: response.metadata };
2359
+ };
2360
+ this.uploadImage = async (request) => {
2361
+ const body = {
2362
+ file: request?.file,
2363
+ upload_sizes: request?.upload_sizes,
2364
+ user: request?.user,
2365
+ };
2366
+ const response = await this.sendRequest('POST', '/api/v2/uploads/image', undefined, undefined, body);
2367
+ decoders.ImageUploadResponse?.(response.body);
2368
+ return { ...response.body, metadata: response.metadata };
2369
+ };
2164
2370
  this.queryUsers = async (request) => {
2165
2371
  const queryParams = {
2166
2372
  payload: request?.payload,
@@ -3474,6 +3680,7 @@ class ChatApi extends BaseApi {
3474
3680
  skip_push: request?.skip_push,
3475
3681
  truncated_at: request?.truncated_at,
3476
3682
  user_id: request?.user_id,
3683
+ member_ids: request?.member_ids,
3477
3684
  message: request?.message,
3478
3685
  user: request?.user,
3479
3686
  };
@@ -3526,6 +3733,7 @@ class ChatApi extends BaseApi {
3526
3733
  typing_events: request?.typing_events,
3527
3734
  uploads: request?.uploads,
3528
3735
  url_enrichment: request?.url_enrichment,
3736
+ user_message_reminders: request?.user_message_reminders,
3529
3737
  blocklists: request?.blocklists,
3530
3738
  commands: request?.commands,
3531
3739
  permissions: request?.permissions,
@@ -3579,6 +3787,7 @@ class ChatApi extends BaseApi {
3579
3787
  typing_events: request?.typing_events,
3580
3788
  uploads: request?.uploads,
3581
3789
  url_enrichment: request?.url_enrichment,
3790
+ user_message_reminders: request?.user_message_reminders,
3582
3791
  allowed_flag_reasons: request?.allowed_flag_reasons,
3583
3792
  blocklists: request?.blocklists,
3584
3793
  commands: request?.commands,
@@ -3712,6 +3921,7 @@ class ChatApi extends BaseApi {
3712
3921
  const body = {
3713
3922
  message: request?.message,
3714
3923
  skip_enrich_url: request?.skip_enrich_url,
3924
+ skip_push: request?.skip_push,
3715
3925
  };
3716
3926
  const response = await this.sendRequest('POST', '/api/v2/chat/messages/{id}', pathParams, undefined, body);
3717
3927
  decoders.UpdateMessageResponse?.(response.body);
@@ -3826,6 +4036,7 @@ class ChatApi extends BaseApi {
3826
4036
  const body = {
3827
4037
  message: request?.message,
3828
4038
  skip_enrich_url: request?.skip_enrich_url,
4039
+ skip_push: request?.skip_push,
3829
4040
  };
3830
4041
  const response = await this.sendRequest('POST', '/api/v2/chat/messages/{id}/undelete', pathParams, undefined, body);
3831
4042
  decoders.UpdateMessageResponse?.(response.body);
@@ -3858,6 +4069,43 @@ class ChatApi extends BaseApi {
3858
4069
  decoders.PollVoteResponse?.(response.body);
3859
4070
  return { ...response.body, metadata: response.metadata };
3860
4071
  };
4072
+ this.deleteReminder = async (request) => {
4073
+ const queryParams = {
4074
+ user_id: request?.user_id,
4075
+ };
4076
+ const pathParams = {
4077
+ message_id: request?.message_id,
4078
+ };
4079
+ const response = await this.sendRequest('DELETE', '/api/v2/chat/messages/{message_id}/reminders', pathParams, queryParams);
4080
+ decoders.DeleteReminderResponse?.(response.body);
4081
+ return { ...response.body, metadata: response.metadata };
4082
+ };
4083
+ this.updateReminder = async (request) => {
4084
+ const pathParams = {
4085
+ message_id: request?.message_id,
4086
+ };
4087
+ const body = {
4088
+ remind_at: request?.remind_at,
4089
+ user_id: request?.user_id,
4090
+ user: request?.user,
4091
+ };
4092
+ const response = await this.sendRequest('PATCH', '/api/v2/chat/messages/{message_id}/reminders', pathParams, undefined, body);
4093
+ decoders.UpdateReminderResponse?.(response.body);
4094
+ return { ...response.body, metadata: response.metadata };
4095
+ };
4096
+ this.createReminder = async (request) => {
4097
+ const pathParams = {
4098
+ message_id: request?.message_id,
4099
+ };
4100
+ const body = {
4101
+ remind_at: request?.remind_at,
4102
+ user_id: request?.user_id,
4103
+ user: request?.user,
4104
+ };
4105
+ const response = await this.sendRequest('POST', '/api/v2/chat/messages/{message_id}/reminders', pathParams, undefined, body);
4106
+ decoders.ReminderResponseData?.(response.body);
4107
+ return { ...response.body, metadata: response.metadata };
4108
+ };
3861
4109
  this.getReplies = async (request) => {
3862
4110
  const queryParams = {
3863
4111
  limit: request?.limit,
@@ -4082,6 +4330,27 @@ class ChatApi extends BaseApi {
4082
4330
  decoders.UpsertPushPreferencesResponse?.(response.body);
4083
4331
  return { ...response.body, metadata: response.metadata };
4084
4332
  };
4333
+ this.getPushTemplates = async (request) => {
4334
+ const queryParams = {
4335
+ push_provider_type: request?.push_provider_type,
4336
+ push_provider_name: request?.push_provider_name,
4337
+ };
4338
+ const response = await this.sendRequest('GET', '/api/v2/chat/push_templates', undefined, queryParams);
4339
+ decoders.GetPushTemplatesResponse?.(response.body);
4340
+ return { ...response.body, metadata: response.metadata };
4341
+ };
4342
+ this.upsertPushTemplate = async (request) => {
4343
+ const body = {
4344
+ event_type: request?.event_type,
4345
+ push_provider_type: request?.push_provider_type,
4346
+ enable_push: request?.enable_push,
4347
+ push_provider_name: request?.push_provider_name,
4348
+ template: request?.template,
4349
+ };
4350
+ const response = await this.sendRequest('POST', '/api/v2/chat/push_templates', undefined, undefined, body);
4351
+ decoders.UpsertPushTemplateResponse?.(response.body);
4352
+ return { ...response.body, metadata: response.metadata };
4353
+ };
4085
4354
  this.queryBannedUsers = async (request) => {
4086
4355
  const queryParams = {
4087
4356
  payload: request?.payload,
@@ -4090,6 +4359,20 @@ class ChatApi extends BaseApi {
4090
4359
  decoders.QueryBannedUsersResponse?.(response.body);
4091
4360
  return { ...response.body, metadata: response.metadata };
4092
4361
  };
4362
+ this.queryReminders = async (request) => {
4363
+ const body = {
4364
+ limit: request?.limit,
4365
+ next: request?.next,
4366
+ prev: request?.prev,
4367
+ user_id: request?.user_id,
4368
+ sort: request?.sort,
4369
+ filter: request?.filter,
4370
+ user: request?.user,
4371
+ };
4372
+ const response = await this.sendRequest('POST', '/api/v2/chat/reminders/query', undefined, undefined, body);
4373
+ decoders.QueryRemindersResponse?.(response.body);
4374
+ return { ...response.body, metadata: response.metadata };
4375
+ };
4093
4376
  this.search = async (request) => {
4094
4377
  const queryParams = {
4095
4378
  payload: request?.payload,
@@ -4473,6 +4756,7 @@ class ModerationApi extends BaseApi {
4473
4756
  target_user_id: request?.target_user_id,
4474
4757
  banned_by_id: request?.banned_by_id,
4475
4758
  channel_cid: request?.channel_cid,
4759
+ delete_messages: request?.delete_messages,
4476
4760
  ip_ban: request?.ip_ban,
4477
4761
  reason: request?.reason,
4478
4762
  shadow: request?.shadow,
@@ -4483,6 +4767,14 @@ class ModerationApi extends BaseApi {
4483
4767
  decoders.BanResponse?.(response.body);
4484
4768
  return { ...response.body, metadata: response.metadata };
4485
4769
  };
4770
+ this.bulkImageModeration = async (request) => {
4771
+ const body = {
4772
+ csv_file: request?.csv_file,
4773
+ };
4774
+ const response = await this.sendRequest('POST', '/api/v2/moderation/bulk_image_moderation', undefined, undefined, body);
4775
+ decoders.BulkImageModerationResponse?.(response.body);
4776
+ return { ...response.body, metadata: response.metadata };
4777
+ };
4486
4778
  this.check = async (request) => {
4487
4779
  const body = {
4488
4780
  config_key: request?.config_key,
@@ -4516,8 +4808,10 @@ class ModerationApi extends BaseApi {
4516
4808
  block_list_config: request?.block_list_config,
4517
4809
  bodyguard_config: request?.bodyguard_config,
4518
4810
  google_vision_config: request?.google_vision_config,
4811
+ rule_builder_config: request?.rule_builder_config,
4519
4812
  user: request?.user,
4520
4813
  velocity_filter_config: request?.velocity_filter_config,
4814
+ video_call_rule_config: request?.video_call_rule_config,
4521
4815
  };
4522
4816
  const response = await this.sendRequest('POST', '/api/v2/moderation/config', undefined, undefined, body);
4523
4817
  decoders.UpsertConfigResponse?.(response.body);
@@ -4607,6 +4901,18 @@ class ModerationApi extends BaseApi {
4607
4901
  decoders.FlagResponse?.(response.body);
4608
4902
  return { ...response.body, metadata: response.metadata };
4609
4903
  };
4904
+ this.queryModerationFlags = async (request) => {
4905
+ const body = {
4906
+ limit: request?.limit,
4907
+ next: request?.next,
4908
+ prev: request?.prev,
4909
+ sort: request?.sort,
4910
+ filter: request?.filter,
4911
+ };
4912
+ const response = await this.sendRequest('POST', '/api/v2/moderation/flags', undefined, undefined, body);
4913
+ decoders.QueryModerationFlagsResponse?.(response.body);
4914
+ return { ...response.body, metadata: response.metadata };
4915
+ };
4610
4916
  this.queryModerationLogs = async (request) => {
4611
4917
  const body = {
4612
4918
  limit: request?.limit,