@stream-io/node-sdk 0.4.24 → 0.4.26

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.
@@ -1,8 +1,9 @@
1
1
  import { BaseApi } from '../../BaseApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { BanRequest, BanResponse, CheckRequest, CheckResponse, CustomCheckRequest, CustomCheckResponse, DeleteModerationConfigResponse, DeleteModerationTemplateResponse, FlagRequest, FlagResponse, GetConfigResponse, GetReviewQueueItemResponse, MuteRequest, MuteResponse, QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, SubmitActionRequest, SubmitActionResponse, UnbanRequest, UnbanResponse, UnmuteRequest, UnmuteResponse, UpsertConfigRequest, UpsertConfigResponse, UpsertModerationTemplateRequest, UpsertModerationTemplateResponse } from '../models';
3
+ import { BanRequest, BanResponse, BulkImageModerationRequest, BulkImageModerationResponse, CheckRequest, CheckResponse, CustomCheckRequest, CustomCheckResponse, DeleteModerationConfigResponse, DeleteModerationTemplateResponse, FlagRequest, FlagResponse, GetConfigResponse, GetReviewQueueItemResponse, MuteRequest, MuteResponse, QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryModerationFlagsRequest, QueryModerationFlagsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, SubmitActionRequest, SubmitActionResponse, UnbanRequest, UnbanResponse, UnmuteRequest, UnmuteResponse, UpsertConfigRequest, UpsertConfigResponse, UpsertModerationTemplateRequest, UpsertModerationTemplateResponse } from '../models';
4
4
  export declare class ModerationApi extends BaseApi {
5
5
  ban: (request: BanRequest) => Promise<StreamResponse<BanResponse>>;
6
+ bulkImageModeration: (request: BulkImageModerationRequest) => Promise<StreamResponse<BulkImageModerationResponse>>;
6
7
  check: (request: CheckRequest) => Promise<StreamResponse<CheckResponse>>;
7
8
  upsertConfig: (request: UpsertConfigRequest) => Promise<StreamResponse<UpsertConfigResponse>>;
8
9
  deleteConfig: (request: {
@@ -19,6 +20,7 @@ export declare class ModerationApi extends BaseApi {
19
20
  v2QueryTemplates: () => Promise<StreamResponse<QueryFeedModerationTemplatesResponse>>;
20
21
  v2UpsertTemplate: (request: UpsertModerationTemplateRequest) => Promise<StreamResponse<UpsertModerationTemplateResponse>>;
21
22
  flag: (request: FlagRequest) => Promise<StreamResponse<FlagResponse>>;
23
+ queryModerationFlags: (request?: QueryModerationFlagsRequest) => Promise<StreamResponse<QueryModerationFlagsResponse>>;
22
24
  queryModerationLogs: (request?: QueryModerationLogsRequest) => Promise<StreamResponse<QueryModerationLogsResponse>>;
23
25
  mute: (request: MuteRequest) => Promise<StreamResponse<MuteResponse>>;
24
26
  queryReviewQueue: (request?: QueryReviewQueueRequest) => Promise<StreamResponse<QueryReviewQueueResponse>>;
@@ -1,7 +1,8 @@
1
1
  import { BaseApi } from '../../BaseApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, CreateCallTypeRequest, CreateCallTypeResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetCallTypeResponse, GetEdgesResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryAggregateCallStatsRequest, QueryAggregateCallStatsResponse, QueryCallMembersRequest, QueryCallMembersResponse, QueryCallParticipantsRequest, QueryCallParticipantsResponse, QueryCallStatsRequest, QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, QueryUserFeedbackRequest, QueryUserFeedbackResponse, Response, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateCallTypeRequest, UpdateCallTypeResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
3
+ import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, CreateCallTypeRequest, CreateCallTypeResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetActiveCallsStatusResponse, GetCallReportResponse, GetCallResponse, GetCallTypeResponse, GetEdgesResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryAggregateCallStatsRequest, QueryAggregateCallStatsResponse, QueryCallMembersRequest, QueryCallMembersResponse, QueryCallParticipantsRequest, QueryCallParticipantsResponse, QueryCallStatsRequest, QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, QueryUserFeedbackRequest, QueryUserFeedbackResponse, Response, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateCallTypeRequest, UpdateCallTypeResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
4
4
  export declare class VideoApi extends BaseApi {
5
+ getActiveCallsStatus: () => Promise<StreamResponse<GetActiveCallsStatusResponse>>;
5
6
  queryUserFeedback: (request?: QueryUserFeedbackRequest & {
6
7
  full?: boolean;
7
8
  }) => Promise<StreamResponse<QueryUserFeedbackResponse>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/node-sdk",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -12,12 +12,14 @@ import {
12
12
  CreateCommandResponse,
13
13
  CreatePollOptionRequest,
14
14
  CreatePollRequest,
15
+ CreateReminderRequest,
15
16
  DeleteChannelResponse,
16
17
  DeleteChannelsRequest,
17
18
  DeleteChannelsResponse,
18
19
  DeleteCommandResponse,
19
20
  DeleteMessageResponse,
20
21
  DeleteReactionResponse,
22
+ DeleteReminderResponse,
21
23
  DeleteSegmentTargetsRequest,
22
24
  EventResponse,
23
25
  ExportChannelsRequest,
@@ -30,6 +32,7 @@ import {
30
32
  GetDraftResponse,
31
33
  GetManyMessagesResponse,
32
34
  GetMessageResponse,
35
+ GetPushTemplatesResponse,
33
36
  GetReactionsResponse,
34
37
  GetRepliesResponse,
35
38
  GetSegmentResponse,
@@ -71,12 +74,15 @@ import {
71
74
  QueryPollsResponse,
72
75
  QueryReactionsRequest,
73
76
  QueryReactionsResponse,
77
+ QueryRemindersRequest,
78
+ QueryRemindersResponse,
74
79
  QuerySegmentTargetsRequest,
75
80
  QuerySegmentTargetsResponse,
76
81
  QuerySegmentsRequest,
77
82
  QuerySegmentsResponse,
78
83
  QueryThreadsRequest,
79
84
  QueryThreadsResponse,
85
+ ReminderResponseData,
80
86
  Response,
81
87
  SearchPayload,
82
88
  SearchResponse,
@@ -116,10 +122,14 @@ import {
116
122
  UpdatePollOptionRequest,
117
123
  UpdatePollPartialRequest,
118
124
  UpdatePollRequest,
125
+ UpdateReminderRequest,
126
+ UpdateReminderResponse,
119
127
  UpdateThreadPartialRequest,
120
128
  UpdateThreadPartialResponse,
121
129
  UpsertPushPreferencesRequest,
122
130
  UpsertPushPreferencesResponse,
131
+ UpsertPushTemplateRequest,
132
+ UpsertPushTemplateResponse,
123
133
  WrappedUnreadCountsResponse,
124
134
  } from '../models';
125
135
  import { decoders } from '../model-decoders';
@@ -790,6 +800,7 @@ export class ChatApi extends BaseApi {
790
800
  skip_push: request?.skip_push,
791
801
  truncated_at: request?.truncated_at,
792
802
  user_id: request?.user_id,
803
+ member_ids: request?.member_ids,
793
804
  message: request?.message,
794
805
  user: request?.user,
795
806
  };
@@ -871,11 +882,13 @@ export class ChatApi extends BaseApi {
871
882
  read_events: request?.read_events,
872
883
  replies: request?.replies,
873
884
  search: request?.search,
885
+ shared_locations: request?.shared_locations,
874
886
  skip_last_msg_update_for_system_msgs:
875
887
  request?.skip_last_msg_update_for_system_msgs,
876
888
  typing_events: request?.typing_events,
877
889
  uploads: request?.uploads,
878
890
  url_enrichment: request?.url_enrichment,
891
+ user_message_reminders: request?.user_message_reminders,
879
892
  blocklists: request?.blocklists,
880
893
  commands: request?.commands,
881
894
  permissions: request?.permissions,
@@ -952,11 +965,13 @@ export class ChatApi extends BaseApi {
952
965
  reminders: request?.reminders,
953
966
  replies: request?.replies,
954
967
  search: request?.search,
968
+ shared_locations: request?.shared_locations,
955
969
  skip_last_msg_update_for_system_msgs:
956
970
  request?.skip_last_msg_update_for_system_msgs,
957
971
  typing_events: request?.typing_events,
958
972
  uploads: request?.uploads,
959
973
  url_enrichment: request?.url_enrichment,
974
+ user_message_reminders: request?.user_message_reminders,
960
975
  allowed_flag_reasons: request?.allowed_flag_reasons,
961
976
  blocklists: request?.blocklists,
962
977
  commands: request?.commands,
@@ -1195,6 +1210,7 @@ export class ChatApi extends BaseApi {
1195
1210
  const body = {
1196
1211
  message: request?.message,
1197
1212
  skip_enrich_url: request?.skip_enrich_url,
1213
+ skip_push: request?.skip_push,
1198
1214
  };
1199
1215
 
1200
1216
  const response = await this.sendRequest<
@@ -1414,6 +1430,7 @@ export class ChatApi extends BaseApi {
1414
1430
  const body = {
1415
1431
  message: request?.message,
1416
1432
  skip_enrich_url: request?.skip_enrich_url,
1433
+ skip_push: request?.skip_push,
1417
1434
  };
1418
1435
 
1419
1436
  const response = await this.sendRequest<
@@ -1484,6 +1501,85 @@ export class ChatApi extends BaseApi {
1484
1501
  return { ...response.body, metadata: response.metadata };
1485
1502
  };
1486
1503
 
1504
+ deleteReminder = async (request: {
1505
+ message_id: string;
1506
+ user_id?: string;
1507
+ }): Promise<StreamResponse<DeleteReminderResponse>> => {
1508
+ const queryParams = {
1509
+ user_id: request?.user_id,
1510
+ };
1511
+ const pathParams = {
1512
+ message_id: request?.message_id,
1513
+ };
1514
+
1515
+ const response = await this.sendRequest<
1516
+ StreamResponse<DeleteReminderResponse>
1517
+ >(
1518
+ 'DELETE',
1519
+ '/api/v2/chat/messages/{message_id}/reminders',
1520
+ pathParams,
1521
+ queryParams,
1522
+ );
1523
+
1524
+ decoders.DeleteReminderResponse?.(response.body);
1525
+
1526
+ return { ...response.body, metadata: response.metadata };
1527
+ };
1528
+
1529
+ updateReminder = async (
1530
+ request: UpdateReminderRequest & { message_id: string },
1531
+ ): Promise<StreamResponse<UpdateReminderResponse>> => {
1532
+ const pathParams = {
1533
+ message_id: request?.message_id,
1534
+ };
1535
+ const body = {
1536
+ remind_at: request?.remind_at,
1537
+ user_id: request?.user_id,
1538
+ user: request?.user,
1539
+ };
1540
+
1541
+ const response = await this.sendRequest<
1542
+ StreamResponse<UpdateReminderResponse>
1543
+ >(
1544
+ 'PATCH',
1545
+ '/api/v2/chat/messages/{message_id}/reminders',
1546
+ pathParams,
1547
+ undefined,
1548
+ body,
1549
+ );
1550
+
1551
+ decoders.UpdateReminderResponse?.(response.body);
1552
+
1553
+ return { ...response.body, metadata: response.metadata };
1554
+ };
1555
+
1556
+ createReminder = async (
1557
+ request: CreateReminderRequest & { message_id: string },
1558
+ ): Promise<StreamResponse<ReminderResponseData>> => {
1559
+ const pathParams = {
1560
+ message_id: request?.message_id,
1561
+ };
1562
+ const body = {
1563
+ remind_at: request?.remind_at,
1564
+ user_id: request?.user_id,
1565
+ user: request?.user,
1566
+ };
1567
+
1568
+ const response = await this.sendRequest<
1569
+ StreamResponse<ReminderResponseData>
1570
+ >(
1571
+ 'POST',
1572
+ '/api/v2/chat/messages/{message_id}/reminders',
1573
+ pathParams,
1574
+ undefined,
1575
+ body,
1576
+ );
1577
+
1578
+ decoders.ReminderResponseData?.(response.body);
1579
+
1580
+ return { ...response.body, metadata: response.metadata };
1581
+ };
1582
+
1487
1583
  getReplies = async (request: {
1488
1584
  parent_id: string;
1489
1585
  limit?: number;
@@ -1908,6 +2004,44 @@ export class ChatApi extends BaseApi {
1908
2004
  return { ...response.body, metadata: response.metadata };
1909
2005
  };
1910
2006
 
2007
+ getPushTemplates = async (request: {
2008
+ push_provider_type: string;
2009
+ push_provider_name?: string;
2010
+ }): Promise<StreamResponse<GetPushTemplatesResponse>> => {
2011
+ const queryParams = {
2012
+ push_provider_type: request?.push_provider_type,
2013
+ push_provider_name: request?.push_provider_name,
2014
+ };
2015
+
2016
+ const response = await this.sendRequest<
2017
+ StreamResponse<GetPushTemplatesResponse>
2018
+ >('GET', '/api/v2/chat/push_templates', undefined, queryParams);
2019
+
2020
+ decoders.GetPushTemplatesResponse?.(response.body);
2021
+
2022
+ return { ...response.body, metadata: response.metadata };
2023
+ };
2024
+
2025
+ upsertPushTemplate = async (
2026
+ request: UpsertPushTemplateRequest,
2027
+ ): Promise<StreamResponse<UpsertPushTemplateResponse>> => {
2028
+ const body = {
2029
+ event_type: request?.event_type,
2030
+ push_provider_type: request?.push_provider_type,
2031
+ enable_push: request?.enable_push,
2032
+ push_provider_name: request?.push_provider_name,
2033
+ template: request?.template,
2034
+ };
2035
+
2036
+ const response = await this.sendRequest<
2037
+ StreamResponse<UpsertPushTemplateResponse>
2038
+ >('POST', '/api/v2/chat/push_templates', undefined, undefined, body);
2039
+
2040
+ decoders.UpsertPushTemplateResponse?.(response.body);
2041
+
2042
+ return { ...response.body, metadata: response.metadata };
2043
+ };
2044
+
1911
2045
  queryBannedUsers = async (request?: {
1912
2046
  payload?: QueryBannedUsersPayload;
1913
2047
  }): Promise<StreamResponse<QueryBannedUsersResponse>> => {
@@ -1924,6 +2058,28 @@ export class ChatApi extends BaseApi {
1924
2058
  return { ...response.body, metadata: response.metadata };
1925
2059
  };
1926
2060
 
2061
+ queryReminders = async (
2062
+ request?: QueryRemindersRequest,
2063
+ ): Promise<StreamResponse<QueryRemindersResponse>> => {
2064
+ const body = {
2065
+ limit: request?.limit,
2066
+ next: request?.next,
2067
+ prev: request?.prev,
2068
+ user_id: request?.user_id,
2069
+ sort: request?.sort,
2070
+ filter: request?.filter,
2071
+ user: request?.user,
2072
+ };
2073
+
2074
+ const response = await this.sendRequest<
2075
+ StreamResponse<QueryRemindersResponse>
2076
+ >('POST', '/api/v2/chat/reminders/query', undefined, undefined, body);
2077
+
2078
+ decoders.QueryRemindersResponse?.(response.body);
2079
+
2080
+ return { ...response.body, metadata: response.metadata };
2081
+ };
2082
+
1927
2083
  search = async (request?: {
1928
2084
  payload?: SearchPayload;
1929
2085
  }): Promise<StreamResponse<SearchResponse>> => {
@@ -33,6 +33,8 @@ import {
33
33
  ExportUserResponse,
34
34
  ExportUsersRequest,
35
35
  ExportUsersResponse,
36
+ FileUploadRequest,
37
+ FileUploadResponse,
36
38
  GetApplicationResponse,
37
39
  GetBlockListResponse,
38
40
  GetBlockedUsersResponse,
@@ -41,6 +43,8 @@ import {
41
43
  GetOGResponse,
42
44
  GetRateLimitsResponse,
43
45
  GetTaskResponse,
46
+ ImageUploadRequest,
47
+ ImageUploadResponse,
44
48
  ListBlockListResponse,
45
49
  ListDevicesResponse,
46
50
  ListExternalStorageResponse,
@@ -56,6 +60,8 @@ import {
56
60
  ReactivateUsersResponse,
57
61
  Response,
58
62
  RestoreUsersRequest,
63
+ SharedLocationResponse,
64
+ SharedLocationsResponse,
59
65
  UnblockUsersRequest,
60
66
  UnblockUsersResponse,
61
67
  UpdateAppRequest,
@@ -63,6 +69,7 @@ import {
63
69
  UpdateBlockListResponse,
64
70
  UpdateExternalStorageRequest,
65
71
  UpdateExternalStorageResponse,
72
+ UpdateLiveLocationRequest,
66
73
  UpdateUsersPartialRequest,
67
74
  UpdateUsersRequest,
68
75
  UpdateUsersResponse,
@@ -115,6 +122,7 @@ export class CommonApi extends BaseApi {
115
122
  sqs_url: request?.sqs_url,
116
123
  webhook_url: request?.webhook_url,
117
124
  allowed_flag_reasons: request?.allowed_flag_reasons,
125
+ event_hooks: request?.event_hooks,
118
126
  image_moderation_block_labels: request?.image_moderation_block_labels,
119
127
  image_moderation_labels: request?.image_moderation_labels,
120
128
  user_search_disallowed_roles: request?.user_search_disallowed_roles,
@@ -127,6 +135,8 @@ export class CommonApi extends BaseApi {
127
135
  grants: request?.grants,
128
136
  huawei_config: request?.huawei_config,
129
137
  image_upload_config: request?.image_upload_config,
138
+ moderation_dashboard_preferences:
139
+ request?.moderation_dashboard_preferences,
130
140
  push_config: request?.push_config,
131
141
  xiaomi_config: request?.xiaomi_config,
132
142
  };
@@ -247,6 +257,7 @@ export class CommonApi extends BaseApi {
247
257
  ): Promise<StreamResponse<CheckPushResponse>> => {
248
258
  const body = {
249
259
  apn_template: request?.apn_template,
260
+ event_type: request?.event_type,
250
261
  firebase_data_template: request?.firebase_data_template,
251
262
  firebase_template: request?.firebase_template,
252
263
  message_id: request?.message_id,
@@ -751,6 +762,83 @@ export class CommonApi extends BaseApi {
751
762
  return { ...response.body, metadata: response.metadata };
752
763
  };
753
764
 
765
+ deleteFile = async (request?: {
766
+ url?: string;
767
+ }): Promise<StreamResponse<Response>> => {
768
+ const queryParams = {
769
+ url: request?.url,
770
+ };
771
+
772
+ const response = await this.sendRequest<StreamResponse<Response>>(
773
+ 'DELETE',
774
+ '/api/v2/uploads/file',
775
+ undefined,
776
+ queryParams,
777
+ );
778
+
779
+ decoders.Response?.(response.body);
780
+
781
+ return { ...response.body, metadata: response.metadata };
782
+ };
783
+
784
+ uploadFile = async (
785
+ request?: FileUploadRequest,
786
+ ): Promise<StreamResponse<FileUploadResponse>> => {
787
+ const body = {
788
+ file: request?.file,
789
+ user: request?.user,
790
+ };
791
+
792
+ const response = await this.sendRequest<StreamResponse<FileUploadResponse>>(
793
+ 'POST',
794
+ '/api/v2/uploads/file',
795
+ undefined,
796
+ undefined,
797
+ body,
798
+ );
799
+
800
+ decoders.FileUploadResponse?.(response.body);
801
+
802
+ return { ...response.body, metadata: response.metadata };
803
+ };
804
+
805
+ deleteImage = async (request?: {
806
+ url?: string;
807
+ }): Promise<StreamResponse<Response>> => {
808
+ const queryParams = {
809
+ url: request?.url,
810
+ };
811
+
812
+ const response = await this.sendRequest<StreamResponse<Response>>(
813
+ 'DELETE',
814
+ '/api/v2/uploads/image',
815
+ undefined,
816
+ queryParams,
817
+ );
818
+
819
+ decoders.Response?.(response.body);
820
+
821
+ return { ...response.body, metadata: response.metadata };
822
+ };
823
+
824
+ uploadImage = async (
825
+ request?: ImageUploadRequest,
826
+ ): Promise<StreamResponse<ImageUploadResponse>> => {
827
+ const body = {
828
+ file: request?.file,
829
+ upload_sizes: request?.upload_sizes,
830
+ user: request?.user,
831
+ };
832
+
833
+ const response = await this.sendRequest<
834
+ StreamResponse<ImageUploadResponse>
835
+ >('POST', '/api/v2/uploads/image', undefined, undefined, body);
836
+
837
+ decoders.ImageUploadResponse?.(response.body);
838
+
839
+ return { ...response.body, metadata: response.metadata };
840
+ };
841
+
754
842
  queryUsers = async (request?: {
755
843
  payload?: QueryUsersPayload;
756
844
  }): Promise<StreamResponse<QueryUsersResponse>> => {
@@ -881,6 +969,45 @@ export class CommonApi extends BaseApi {
881
969
  return { ...response.body, metadata: response.metadata };
882
970
  };
883
971
 
972
+ getUserLiveLocations = async (request?: {
973
+ user_id?: string;
974
+ }): Promise<StreamResponse<SharedLocationsResponse>> => {
975
+ const queryParams = {
976
+ user_id: request?.user_id,
977
+ };
978
+
979
+ const response = await this.sendRequest<
980
+ StreamResponse<SharedLocationsResponse>
981
+ >('GET', '/api/v2/users/live_locations', undefined, queryParams);
982
+
983
+ decoders.SharedLocationsResponse?.(response.body);
984
+
985
+ return { ...response.body, metadata: response.metadata };
986
+ };
987
+
988
+ updateLiveLocation = async (
989
+ request: UpdateLiveLocationRequest & { user_id?: string },
990
+ ): Promise<StreamResponse<SharedLocationResponse>> => {
991
+ const queryParams = {
992
+ user_id: request?.user_id,
993
+ };
994
+ const body = {
995
+ created_by_device_id: request?.created_by_device_id,
996
+ message_id: request?.message_id,
997
+ end_at: request?.end_at,
998
+ latitude: request?.latitude,
999
+ longitude: request?.longitude,
1000
+ };
1001
+
1002
+ const response = await this.sendRequest<
1003
+ StreamResponse<SharedLocationResponse>
1004
+ >('PUT', '/api/v2/users/live_locations', undefined, queryParams, body);
1005
+
1006
+ decoders.SharedLocationResponse?.(response.body);
1007
+
1008
+ return { ...response.body, metadata: response.metadata };
1009
+ };
1010
+
884
1011
  reactivateUsers = async (
885
1012
  request: ReactivateUsersRequest,
886
1013
  ): Promise<StreamResponse<ReactivateUsersResponse>> => {