@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.cjs.js CHANGED
@@ -157,7 +157,7 @@ class BaseApi {
157
157
  Authorization: this.apiConfig.token,
158
158
  'stream-auth-type': 'jwt',
159
159
  'Content-Type': 'application/json',
160
- 'X-Stream-Client': 'stream-node-' + "0.4.23",
160
+ 'X-Stream-Client': 'stream-node-' + "0.4.25",
161
161
  'Accept-Encoding': 'gzip',
162
162
  'x-client-request-id': clientRequestId,
163
163
  };
@@ -278,6 +278,7 @@ decoders.ActionLogResponse = (input) => {
278
278
  };
279
279
  decoders.AppResponseFields = (input) => {
280
280
  const typeMappings = {
281
+ event_hooks: { type: 'EventHook', isSingle: false },
281
282
  call_types: { type: 'CallType', isSingle: false },
282
283
  channel_configs: { type: 'ChannelConfig', isSingle: false },
283
284
  push_notifications: { type: 'PushNotificationFields', isSingle: true },
@@ -332,6 +333,55 @@ decoders.BlockedUserResponse = (input) => {
332
333
  };
333
334
  return decode(typeMappings, input);
334
335
  };
336
+ decoders.Call = (input) => {
337
+ const typeMappings = {
338
+ created_at: { type: 'DatetimeType', isSingle: true },
339
+ updated_at: { type: 'DatetimeType', isSingle: true },
340
+ blocked_users: { type: 'User', isSingle: false },
341
+ egresses: { type: 'CallEgress', isSingle: false },
342
+ members: { type: 'CallMember', isSingle: false },
343
+ deleted_at: { type: 'DatetimeType', isSingle: true },
344
+ egress_updated_at: { type: 'DatetimeType', isSingle: true },
345
+ ended_at: { type: 'DatetimeType', isSingle: true },
346
+ last_heartbeat_at: { type: 'DatetimeType', isSingle: true },
347
+ starts_at: { type: 'DatetimeType', isSingle: true },
348
+ call_type: { type: 'CallType', isSingle: true },
349
+ created_by: { type: 'User', isSingle: true },
350
+ session: { type: 'CallSession', isSingle: true },
351
+ };
352
+ return decode(typeMappings, input);
353
+ };
354
+ decoders.CallEgress = (input) => {
355
+ const typeMappings = {
356
+ started_at: { type: 'DatetimeType', isSingle: true },
357
+ updated_at: { type: 'DatetimeType', isSingle: true },
358
+ stopped_at: { type: 'DatetimeType', isSingle: true },
359
+ };
360
+ return decode(typeMappings, input);
361
+ };
362
+ decoders.CallMember = (input) => {
363
+ const typeMappings = {
364
+ created_at: { type: 'DatetimeType', isSingle: true },
365
+ updated_at: { type: 'DatetimeType', isSingle: true },
366
+ deleted_at: { type: 'DatetimeType', isSingle: true },
367
+ user: { type: 'User', isSingle: true },
368
+ };
369
+ return decode(typeMappings, input);
370
+ };
371
+ decoders.CallParticipant = (input) => {
372
+ const typeMappings = {
373
+ joined_at: { type: 'DatetimeType', isSingle: true },
374
+ ban_expires: { type: 'DatetimeType', isSingle: true },
375
+ created_at: { type: 'DatetimeType', isSingle: true },
376
+ deactivated_at: { type: 'DatetimeType', isSingle: true },
377
+ deleted_at: { type: 'DatetimeType', isSingle: true },
378
+ last_active: { type: 'DatetimeType', isSingle: true },
379
+ last_engaged_at: { type: 'DatetimeType', isSingle: true },
380
+ revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },
381
+ updated_at: { type: 'DatetimeType', isSingle: true },
382
+ };
383
+ return decode(typeMappings, input);
384
+ };
335
385
  decoders.CallParticipantResponse = (input) => {
336
386
  const typeMappings = {
337
387
  joined_at: { type: 'DatetimeType', isSingle: true },
@@ -364,6 +414,24 @@ decoders.CallResponse = (input) => {
364
414
  };
365
415
  return decode(typeMappings, input);
366
416
  };
417
+ decoders.CallSession = (input) => {
418
+ const typeMappings = {
419
+ created_at: { type: 'DatetimeType', isSingle: true },
420
+ active_sf_us: { type: 'SFUIDLastSeen', isSingle: false },
421
+ participants: { type: 'CallParticipant', isSingle: false },
422
+ accepted_by: { type: 'DatetimeType', isSingle: false },
423
+ missed_by: { type: 'DatetimeType', isSingle: false },
424
+ rejected_by: { type: 'DatetimeType', isSingle: false },
425
+ deleted_at: { type: 'DatetimeType', isSingle: true },
426
+ ended_at: { type: 'DatetimeType', isSingle: true },
427
+ live_ended_at: { type: 'DatetimeType', isSingle: true },
428
+ live_started_at: { type: 'DatetimeType', isSingle: true },
429
+ ring_at: { type: 'DatetimeType', isSingle: true },
430
+ started_at: { type: 'DatetimeType', isSingle: true },
431
+ timer_ends_at: { type: 'DatetimeType', isSingle: true },
432
+ };
433
+ return decode(typeMappings, input);
434
+ };
367
435
  decoders.CallSessionResponse = (input) => {
368
436
  const typeMappings = {
369
437
  participants: { type: 'CallParticipantResponse', isSingle: false },
@@ -741,6 +809,13 @@ decoders.EntityCreatorResponse = (input) => {
741
809
  };
742
810
  return decode(typeMappings, input);
743
811
  };
812
+ decoders.EventHook = (input) => {
813
+ const typeMappings = {
814
+ created_at: { type: 'DatetimeType', isSingle: true },
815
+ updated_at: { type: 'DatetimeType', isSingle: true },
816
+ };
817
+ return decode(typeMappings, input);
818
+ };
744
819
  decoders.EventResponse = (input) => {
745
820
  const typeMappings = {
746
821
  event: { type: 'WSEvent', isSingle: true },
@@ -759,6 +834,7 @@ decoders.Flag = (input) => {
759
834
  const typeMappings = {
760
835
  created_at: { type: 'DatetimeType', isSingle: true },
761
836
  updated_at: { type: 'DatetimeType', isSingle: true },
837
+ review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
762
838
  user: { type: 'User', isSingle: true },
763
839
  };
764
840
  return decode(typeMappings, input);
@@ -810,6 +886,7 @@ decoders.GetBlockedUsersResponse = (input) => {
810
886
  };
811
887
  decoders.GetCallReportResponse = (input) => {
812
888
  const typeMappings = {
889
+ video_reactions: { type: 'VideoReactionsResponse', isSingle: false },
813
890
  chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true },
814
891
  };
815
892
  return decode(typeMappings, input);
@@ -880,6 +957,12 @@ decoders.GetOrCreateCallResponse = (input) => {
880
957
  };
881
958
  return decode(typeMappings, input);
882
959
  };
960
+ decoders.GetPushTemplatesResponse = (input) => {
961
+ const typeMappings = {
962
+ templates: { type: 'PushTemplate', isSingle: false },
963
+ };
964
+ return decode(typeMappings, input);
965
+ };
883
966
  decoders.GetReactionsResponse = (input) => {
884
967
  const typeMappings = {
885
968
  reactions: { type: 'Reaction', isSingle: false },
@@ -1034,6 +1117,7 @@ decoders.Message = (input) => {
1034
1117
  pinned_by: { type: 'User', isSingle: true },
1035
1118
  poll: { type: 'Poll', isSingle: true },
1036
1119
  quoted_message: { type: 'Message', isSingle: true },
1120
+ reminder: { type: 'MessageReminder', isSingle: true },
1037
1121
  user: { type: 'User', isSingle: true },
1038
1122
  };
1039
1123
  return decode(typeMappings, input);
@@ -1076,6 +1160,17 @@ decoders.MessageReadEvent = (input) => {
1076
1160
  };
1077
1161
  return decode(typeMappings, input);
1078
1162
  };
1163
+ decoders.MessageReminder = (input) => {
1164
+ const typeMappings = {
1165
+ created_at: { type: 'DatetimeType', isSingle: true },
1166
+ updated_at: { type: 'DatetimeType', isSingle: true },
1167
+ remind_at: { type: 'DatetimeType', isSingle: true },
1168
+ channel: { type: 'Channel', isSingle: true },
1169
+ message: { type: 'Message', isSingle: true },
1170
+ user: { type: 'User', isSingle: true },
1171
+ };
1172
+ return decode(typeMappings, input);
1173
+ };
1079
1174
  decoders.MessageResponse = (input) => {
1080
1175
  const typeMappings = {
1081
1176
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1094,6 +1189,7 @@ decoders.MessageResponse = (input) => {
1094
1189
  poll: { type: 'PollResponseData', isSingle: true },
1095
1190
  quoted_message: { type: 'MessageResponse', isSingle: true },
1096
1191
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1192
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1097
1193
  };
1098
1194
  return decode(typeMappings, input);
1099
1195
  };
@@ -1122,6 +1218,14 @@ decoders.MessageWithChannelResponse = (input) => {
1122
1218
  poll: { type: 'PollResponseData', isSingle: true },
1123
1219
  quoted_message: { type: 'MessageResponse', isSingle: true },
1124
1220
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1221
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1222
+ };
1223
+ return decode(typeMappings, input);
1224
+ };
1225
+ decoders.ModerationFlagResponse = (input) => {
1226
+ const typeMappings = {
1227
+ review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
1228
+ user: { type: 'UserResponse', isSingle: true },
1125
1229
  };
1126
1230
  return decode(typeMappings, input);
1127
1231
  };
@@ -1267,6 +1371,7 @@ decoders.PushProvider = (input) => {
1267
1371
  created_at: { type: 'DatetimeType', isSingle: true },
1268
1372
  updated_at: { type: 'DatetimeType', isSingle: true },
1269
1373
  disabled_at: { type: 'DatetimeType', isSingle: true },
1374
+ push_templates: { type: 'PushTemplate', isSingle: false },
1270
1375
  };
1271
1376
  return decode(typeMappings, input);
1272
1377
  };
@@ -1278,6 +1383,13 @@ decoders.PushProviderResponse = (input) => {
1278
1383
  };
1279
1384
  return decode(typeMappings, input);
1280
1385
  };
1386
+ decoders.PushTemplate = (input) => {
1387
+ const typeMappings = {
1388
+ created_at: { type: 'DatetimeType', isSingle: true },
1389
+ updated_at: { type: 'DatetimeType', isSingle: true },
1390
+ };
1391
+ return decode(typeMappings, input);
1392
+ };
1281
1393
  decoders.QueryBannedUsersResponse = (input) => {
1282
1394
  const typeMappings = {
1283
1395
  bans: { type: 'BanResponse', isSingle: false },
@@ -1359,6 +1471,12 @@ decoders.QueryModerationConfigsResponse = (input) => {
1359
1471
  };
1360
1472
  return decode(typeMappings, input);
1361
1473
  };
1474
+ decoders.QueryModerationFlagsResponse = (input) => {
1475
+ const typeMappings = {
1476
+ flags: { type: 'ModerationFlagResponse', isSingle: false },
1477
+ };
1478
+ return decode(typeMappings, input);
1479
+ };
1362
1480
  decoders.QueryModerationLogsResponse = (input) => {
1363
1481
  const typeMappings = {
1364
1482
  logs: { type: 'ActionLogResponse', isSingle: false },
@@ -1377,6 +1495,12 @@ decoders.QueryReactionsResponse = (input) => {
1377
1495
  };
1378
1496
  return decode(typeMappings, input);
1379
1497
  };
1498
+ decoders.QueryRemindersResponse = (input) => {
1499
+ const typeMappings = {
1500
+ reminders: { type: 'ReminderResponseData', isSingle: false },
1501
+ };
1502
+ return decode(typeMappings, input);
1503
+ };
1380
1504
  decoders.QueryReviewQueueResponse = (input) => {
1381
1505
  const typeMappings = {
1382
1506
  items: { type: 'ReviewQueueItemResponse', isSingle: false },
@@ -1443,6 +1567,17 @@ decoders.ReadStateResponse = (input) => {
1443
1567
  };
1444
1568
  return decode(typeMappings, input);
1445
1569
  };
1570
+ decoders.ReminderResponseData = (input) => {
1571
+ const typeMappings = {
1572
+ created_at: { type: 'DatetimeType', isSingle: true },
1573
+ updated_at: { type: 'DatetimeType', isSingle: true },
1574
+ remind_at: { type: 'DatetimeType', isSingle: true },
1575
+ channel: { type: 'ChannelResponse', isSingle: true },
1576
+ message: { type: 'Message', isSingle: true },
1577
+ user: { type: 'User', isSingle: true },
1578
+ };
1579
+ return decode(typeMappings, input);
1580
+ };
1446
1581
  decoders.ReviewQueueItem = (input) => {
1447
1582
  const typeMappings = {
1448
1583
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1451,6 +1586,7 @@ decoders.ReviewQueueItem = (input) => {
1451
1586
  bans: { type: 'Ban', isSingle: false },
1452
1587
  flags: { type: 'Flag', isSingle: false },
1453
1588
  assigned_to: { type: 'User', isSingle: true },
1589
+ call: { type: 'Call', isSingle: true },
1454
1590
  entity_creator: { type: 'EntityCreator', isSingle: true },
1455
1591
  feeds_v2_reaction: { type: 'Reaction', isSingle: true },
1456
1592
  message: { type: 'Message', isSingle: true },
@@ -1467,6 +1603,7 @@ decoders.ReviewQueueItemResponse = (input) => {
1467
1603
  completed_at: { type: 'DatetimeType', isSingle: true },
1468
1604
  reviewed_at: { type: 'DatetimeType', isSingle: true },
1469
1605
  assigned_to: { type: 'UserResponse', isSingle: true },
1606
+ call: { type: 'CallResponse', isSingle: true },
1470
1607
  entity_creator: { type: 'EntityCreatorResponse', isSingle: true },
1471
1608
  feeds_v2_reaction: { type: 'Reaction', isSingle: true },
1472
1609
  message: { type: 'MessageResponse', isSingle: true },
@@ -1481,6 +1618,12 @@ decoders.Role = (input) => {
1481
1618
  };
1482
1619
  return decode(typeMappings, input);
1483
1620
  };
1621
+ decoders.SFUIDLastSeen = (input) => {
1622
+ const typeMappings = {
1623
+ last_seen: { type: 'DatetimeType', isSingle: true },
1624
+ };
1625
+ return decode(typeMappings, input);
1626
+ };
1484
1627
  decoders.SearchResult = (input) => {
1485
1628
  const typeMappings = {
1486
1629
  message: { type: 'SearchResultMessage', isSingle: true },
@@ -1506,6 +1649,7 @@ decoders.SearchResultMessage = (input) => {
1506
1649
  poll: { type: 'PollResponseData', isSingle: true },
1507
1650
  quoted_message: { type: 'MessageResponse', isSingle: true },
1508
1651
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1652
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1509
1653
  };
1510
1654
  return decode(typeMappings, input);
1511
1655
  };
@@ -1699,6 +1843,12 @@ decoders.UpdateMessageResponse = (input) => {
1699
1843
  };
1700
1844
  return decode(typeMappings, input);
1701
1845
  };
1846
+ decoders.UpdateReminderResponse = (input) => {
1847
+ const typeMappings = {
1848
+ reminder: { type: 'ReminderResponseData', isSingle: true },
1849
+ };
1850
+ return decode(typeMappings, input);
1851
+ };
1702
1852
  decoders.UpdateThreadPartialResponse = (input) => {
1703
1853
  const typeMappings = {
1704
1854
  thread: { type: 'ThreadResponse', isSingle: true },
@@ -1736,6 +1886,12 @@ decoders.UpsertPushProviderResponse = (input) => {
1736
1886
  };
1737
1887
  return decode(typeMappings, input);
1738
1888
  };
1889
+ decoders.UpsertPushTemplateResponse = (input) => {
1890
+ const typeMappings = {
1891
+ template: { type: 'PushTemplate', isSingle: true },
1892
+ };
1893
+ return decode(typeMappings, input);
1894
+ };
1739
1895
  decoders.User = (input) => {
1740
1896
  const typeMappings = {
1741
1897
  ban_expires: { type: 'DatetimeType', isSingle: true },
@@ -1797,6 +1953,18 @@ decoders.UserResponseCommonFields = (input) => {
1797
1953
  };
1798
1954
  return decode(typeMappings, input);
1799
1955
  };
1956
+ decoders.VideoReactionOverTimeResponse = (input) => {
1957
+ const typeMappings = {
1958
+ by_minute: { type: 'CountByMinuteResponse', isSingle: false },
1959
+ };
1960
+ return decode(typeMappings, input);
1961
+ };
1962
+ decoders.VideoReactionsResponse = (input) => {
1963
+ const typeMappings = {
1964
+ count_over_time: { type: 'VideoReactionOverTimeResponse', isSingle: true },
1965
+ };
1966
+ return decode(typeMappings, input);
1967
+ };
1800
1968
  decoders.WSEvent = (input) => {
1801
1969
  const typeMappings = {
1802
1970
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1861,6 +2029,7 @@ class CommonApi extends BaseApi {
1861
2029
  sqs_url: request?.sqs_url,
1862
2030
  webhook_url: request?.webhook_url,
1863
2031
  allowed_flag_reasons: request?.allowed_flag_reasons,
2032
+ event_hooks: request?.event_hooks,
1864
2033
  image_moderation_block_labels: request?.image_moderation_block_labels,
1865
2034
  image_moderation_labels: request?.image_moderation_labels,
1866
2035
  user_search_disallowed_roles: request?.user_search_disallowed_roles,
@@ -1873,6 +2042,7 @@ class CommonApi extends BaseApi {
1873
2042
  grants: request?.grants,
1874
2043
  huawei_config: request?.huawei_config,
1875
2044
  image_upload_config: request?.image_upload_config,
2045
+ moderation_dashboard_preferences: request?.moderation_dashboard_preferences,
1876
2046
  push_config: request?.push_config,
1877
2047
  xiaomi_config: request?.xiaomi_config,
1878
2048
  };
@@ -1936,6 +2106,7 @@ class CommonApi extends BaseApi {
1936
2106
  this.checkPush = async (request) => {
1937
2107
  const body = {
1938
2108
  apn_template: request?.apn_template,
2109
+ event_type: request?.event_type,
1939
2110
  firebase_data_template: request?.firebase_data_template,
1940
2111
  firebase_template: request?.firebase_template,
1941
2112
  message_id: request?.message_id,
@@ -2180,6 +2351,41 @@ class CommonApi extends BaseApi {
2180
2351
  decoders.GetTaskResponse?.(response.body);
2181
2352
  return { ...response.body, metadata: response.metadata };
2182
2353
  };
2354
+ this.deleteFile = async (request) => {
2355
+ const queryParams = {
2356
+ url: request?.url,
2357
+ };
2358
+ const response = await this.sendRequest('DELETE', '/api/v2/uploads/file', undefined, queryParams);
2359
+ decoders.Response?.(response.body);
2360
+ return { ...response.body, metadata: response.metadata };
2361
+ };
2362
+ this.uploadFile = async (request) => {
2363
+ const body = {
2364
+ file: request?.file,
2365
+ user: request?.user,
2366
+ };
2367
+ const response = await this.sendRequest('POST', '/api/v2/uploads/file', undefined, undefined, body);
2368
+ decoders.FileUploadResponse?.(response.body);
2369
+ return { ...response.body, metadata: response.metadata };
2370
+ };
2371
+ this.deleteImage = async (request) => {
2372
+ const queryParams = {
2373
+ url: request?.url,
2374
+ };
2375
+ const response = await this.sendRequest('DELETE', '/api/v2/uploads/image', undefined, queryParams);
2376
+ decoders.Response?.(response.body);
2377
+ return { ...response.body, metadata: response.metadata };
2378
+ };
2379
+ this.uploadImage = async (request) => {
2380
+ const body = {
2381
+ file: request?.file,
2382
+ upload_sizes: request?.upload_sizes,
2383
+ user: request?.user,
2384
+ };
2385
+ const response = await this.sendRequest('POST', '/api/v2/uploads/image', undefined, undefined, body);
2386
+ decoders.ImageUploadResponse?.(response.body);
2387
+ return { ...response.body, metadata: response.metadata };
2388
+ };
2183
2389
  this.queryUsers = async (request) => {
2184
2390
  const queryParams = {
2185
2391
  payload: request?.payload,
@@ -3493,6 +3699,7 @@ class ChatApi extends BaseApi {
3493
3699
  skip_push: request?.skip_push,
3494
3700
  truncated_at: request?.truncated_at,
3495
3701
  user_id: request?.user_id,
3702
+ member_ids: request?.member_ids,
3496
3703
  message: request?.message,
3497
3704
  user: request?.user,
3498
3705
  };
@@ -3545,6 +3752,7 @@ class ChatApi extends BaseApi {
3545
3752
  typing_events: request?.typing_events,
3546
3753
  uploads: request?.uploads,
3547
3754
  url_enrichment: request?.url_enrichment,
3755
+ user_message_reminders: request?.user_message_reminders,
3548
3756
  blocklists: request?.blocklists,
3549
3757
  commands: request?.commands,
3550
3758
  permissions: request?.permissions,
@@ -3598,6 +3806,7 @@ class ChatApi extends BaseApi {
3598
3806
  typing_events: request?.typing_events,
3599
3807
  uploads: request?.uploads,
3600
3808
  url_enrichment: request?.url_enrichment,
3809
+ user_message_reminders: request?.user_message_reminders,
3601
3810
  allowed_flag_reasons: request?.allowed_flag_reasons,
3602
3811
  blocklists: request?.blocklists,
3603
3812
  commands: request?.commands,
@@ -3731,6 +3940,7 @@ class ChatApi extends BaseApi {
3731
3940
  const body = {
3732
3941
  message: request?.message,
3733
3942
  skip_enrich_url: request?.skip_enrich_url,
3943
+ skip_push: request?.skip_push,
3734
3944
  };
3735
3945
  const response = await this.sendRequest('POST', '/api/v2/chat/messages/{id}', pathParams, undefined, body);
3736
3946
  decoders.UpdateMessageResponse?.(response.body);
@@ -3845,6 +4055,7 @@ class ChatApi extends BaseApi {
3845
4055
  const body = {
3846
4056
  message: request?.message,
3847
4057
  skip_enrich_url: request?.skip_enrich_url,
4058
+ skip_push: request?.skip_push,
3848
4059
  };
3849
4060
  const response = await this.sendRequest('POST', '/api/v2/chat/messages/{id}/undelete', pathParams, undefined, body);
3850
4061
  decoders.UpdateMessageResponse?.(response.body);
@@ -3877,6 +4088,43 @@ class ChatApi extends BaseApi {
3877
4088
  decoders.PollVoteResponse?.(response.body);
3878
4089
  return { ...response.body, metadata: response.metadata };
3879
4090
  };
4091
+ this.deleteReminder = async (request) => {
4092
+ const queryParams = {
4093
+ user_id: request?.user_id,
4094
+ };
4095
+ const pathParams = {
4096
+ message_id: request?.message_id,
4097
+ };
4098
+ const response = await this.sendRequest('DELETE', '/api/v2/chat/messages/{message_id}/reminders', pathParams, queryParams);
4099
+ decoders.DeleteReminderResponse?.(response.body);
4100
+ return { ...response.body, metadata: response.metadata };
4101
+ };
4102
+ this.updateReminder = async (request) => {
4103
+ const pathParams = {
4104
+ message_id: request?.message_id,
4105
+ };
4106
+ const body = {
4107
+ remind_at: request?.remind_at,
4108
+ user_id: request?.user_id,
4109
+ user: request?.user,
4110
+ };
4111
+ const response = await this.sendRequest('PATCH', '/api/v2/chat/messages/{message_id}/reminders', pathParams, undefined, body);
4112
+ decoders.UpdateReminderResponse?.(response.body);
4113
+ return { ...response.body, metadata: response.metadata };
4114
+ };
4115
+ this.createReminder = async (request) => {
4116
+ const pathParams = {
4117
+ message_id: request?.message_id,
4118
+ };
4119
+ const body = {
4120
+ remind_at: request?.remind_at,
4121
+ user_id: request?.user_id,
4122
+ user: request?.user,
4123
+ };
4124
+ const response = await this.sendRequest('POST', '/api/v2/chat/messages/{message_id}/reminders', pathParams, undefined, body);
4125
+ decoders.ReminderResponseData?.(response.body);
4126
+ return { ...response.body, metadata: response.metadata };
4127
+ };
3880
4128
  this.getReplies = async (request) => {
3881
4129
  const queryParams = {
3882
4130
  limit: request?.limit,
@@ -4101,6 +4349,27 @@ class ChatApi extends BaseApi {
4101
4349
  decoders.UpsertPushPreferencesResponse?.(response.body);
4102
4350
  return { ...response.body, metadata: response.metadata };
4103
4351
  };
4352
+ this.getPushTemplates = async (request) => {
4353
+ const queryParams = {
4354
+ push_provider_type: request?.push_provider_type,
4355
+ push_provider_name: request?.push_provider_name,
4356
+ };
4357
+ const response = await this.sendRequest('GET', '/api/v2/chat/push_templates', undefined, queryParams);
4358
+ decoders.GetPushTemplatesResponse?.(response.body);
4359
+ return { ...response.body, metadata: response.metadata };
4360
+ };
4361
+ this.upsertPushTemplate = async (request) => {
4362
+ const body = {
4363
+ event_type: request?.event_type,
4364
+ push_provider_type: request?.push_provider_type,
4365
+ enable_push: request?.enable_push,
4366
+ push_provider_name: request?.push_provider_name,
4367
+ template: request?.template,
4368
+ };
4369
+ const response = await this.sendRequest('POST', '/api/v2/chat/push_templates', undefined, undefined, body);
4370
+ decoders.UpsertPushTemplateResponse?.(response.body);
4371
+ return { ...response.body, metadata: response.metadata };
4372
+ };
4104
4373
  this.queryBannedUsers = async (request) => {
4105
4374
  const queryParams = {
4106
4375
  payload: request?.payload,
@@ -4109,6 +4378,20 @@ class ChatApi extends BaseApi {
4109
4378
  decoders.QueryBannedUsersResponse?.(response.body);
4110
4379
  return { ...response.body, metadata: response.metadata };
4111
4380
  };
4381
+ this.queryReminders = async (request) => {
4382
+ const body = {
4383
+ limit: request?.limit,
4384
+ next: request?.next,
4385
+ prev: request?.prev,
4386
+ user_id: request?.user_id,
4387
+ sort: request?.sort,
4388
+ filter: request?.filter,
4389
+ user: request?.user,
4390
+ };
4391
+ const response = await this.sendRequest('POST', '/api/v2/chat/reminders/query', undefined, undefined, body);
4392
+ decoders.QueryRemindersResponse?.(response.body);
4393
+ return { ...response.body, metadata: response.metadata };
4394
+ };
4112
4395
  this.search = async (request) => {
4113
4396
  const queryParams = {
4114
4397
  payload: request?.payload,
@@ -4492,6 +4775,7 @@ class ModerationApi extends BaseApi {
4492
4775
  target_user_id: request?.target_user_id,
4493
4776
  banned_by_id: request?.banned_by_id,
4494
4777
  channel_cid: request?.channel_cid,
4778
+ delete_messages: request?.delete_messages,
4495
4779
  ip_ban: request?.ip_ban,
4496
4780
  reason: request?.reason,
4497
4781
  shadow: request?.shadow,
@@ -4502,6 +4786,14 @@ class ModerationApi extends BaseApi {
4502
4786
  decoders.BanResponse?.(response.body);
4503
4787
  return { ...response.body, metadata: response.metadata };
4504
4788
  };
4789
+ this.bulkImageModeration = async (request) => {
4790
+ const body = {
4791
+ csv_file: request?.csv_file,
4792
+ };
4793
+ const response = await this.sendRequest('POST', '/api/v2/moderation/bulk_image_moderation', undefined, undefined, body);
4794
+ decoders.BulkImageModerationResponse?.(response.body);
4795
+ return { ...response.body, metadata: response.metadata };
4796
+ };
4505
4797
  this.check = async (request) => {
4506
4798
  const body = {
4507
4799
  config_key: request?.config_key,
@@ -4535,8 +4827,10 @@ class ModerationApi extends BaseApi {
4535
4827
  block_list_config: request?.block_list_config,
4536
4828
  bodyguard_config: request?.bodyguard_config,
4537
4829
  google_vision_config: request?.google_vision_config,
4830
+ rule_builder_config: request?.rule_builder_config,
4538
4831
  user: request?.user,
4539
4832
  velocity_filter_config: request?.velocity_filter_config,
4833
+ video_call_rule_config: request?.video_call_rule_config,
4540
4834
  };
4541
4835
  const response = await this.sendRequest('POST', '/api/v2/moderation/config', undefined, undefined, body);
4542
4836
  decoders.UpsertConfigResponse?.(response.body);
@@ -4626,6 +4920,18 @@ class ModerationApi extends BaseApi {
4626
4920
  decoders.FlagResponse?.(response.body);
4627
4921
  return { ...response.body, metadata: response.metadata };
4628
4922
  };
4923
+ this.queryModerationFlags = async (request) => {
4924
+ const body = {
4925
+ limit: request?.limit,
4926
+ next: request?.next,
4927
+ prev: request?.prev,
4928
+ sort: request?.sort,
4929
+ filter: request?.filter,
4930
+ };
4931
+ const response = await this.sendRequest('POST', '/api/v2/moderation/flags', undefined, undefined, body);
4932
+ decoders.QueryModerationFlagsResponse?.(response.body);
4933
+ return { ...response.body, metadata: response.metadata };
4934
+ };
4629
4935
  this.queryModerationLogs = async (request) => {
4630
4936
  const body = {
4631
4937
  limit: request?.limit,