@stream-io/node-sdk 0.4.25 → 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,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.25",
3
+ "version": "0.4.26",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -882,6 +882,7 @@ export class ChatApi extends BaseApi {
882
882
  read_events: request?.read_events,
883
883
  replies: request?.replies,
884
884
  search: request?.search,
885
+ shared_locations: request?.shared_locations,
885
886
  skip_last_msg_update_for_system_msgs:
886
887
  request?.skip_last_msg_update_for_system_msgs,
887
888
  typing_events: request?.typing_events,
@@ -964,6 +965,7 @@ export class ChatApi extends BaseApi {
964
965
  reminders: request?.reminders,
965
966
  replies: request?.replies,
966
967
  search: request?.search,
968
+ shared_locations: request?.shared_locations,
967
969
  skip_last_msg_update_for_system_msgs:
968
970
  request?.skip_last_msg_update_for_system_msgs,
969
971
  typing_events: request?.typing_events,
@@ -60,6 +60,8 @@ import {
60
60
  ReactivateUsersResponse,
61
61
  Response,
62
62
  RestoreUsersRequest,
63
+ SharedLocationResponse,
64
+ SharedLocationsResponse,
63
65
  UnblockUsersRequest,
64
66
  UnblockUsersResponse,
65
67
  UpdateAppRequest,
@@ -67,6 +69,7 @@ import {
67
69
  UpdateBlockListResponse,
68
70
  UpdateExternalStorageRequest,
69
71
  UpdateExternalStorageResponse,
72
+ UpdateLiveLocationRequest,
70
73
  UpdateUsersPartialRequest,
71
74
  UpdateUsersRequest,
72
75
  UpdateUsersResponse,
@@ -966,6 +969,45 @@ export class CommonApi extends BaseApi {
966
969
  return { ...response.body, metadata: response.metadata };
967
970
  };
968
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
+
969
1011
  reactivateUsers = async (
970
1012
  request: ReactivateUsersRequest,
971
1013
  ): Promise<StreamResponse<ReactivateUsersResponse>> => {
@@ -32,24 +32,11 @@ const decode = (typeMappings: TypeMapping, input?: Record<string, any>) => {
32
32
  return input;
33
33
  };
34
34
 
35
- decoders.ActionLog = (input?: Record<string, any>) => {
36
- const typeMappings: TypeMapping = {
37
- created_at: { type: 'DatetimeType', isSingle: true },
38
-
39
- review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
40
-
41
- target_user: { type: 'User', isSingle: true },
42
-
43
- user: { type: 'User', isSingle: true },
44
- };
45
- return decode(typeMappings, input);
46
- };
47
-
48
35
  decoders.ActionLogResponse = (input?: Record<string, any>) => {
49
36
  const typeMappings: TypeMapping = {
50
37
  created_at: { type: 'DatetimeType', isSingle: true },
51
38
 
52
- review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
39
+ review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },
53
40
 
54
41
  target_user: { type: 'UserResponse', isSingle: true },
55
42
 
@@ -137,84 +124,6 @@ decoders.BlockedUserResponse = (input?: Record<string, any>) => {
137
124
  return decode(typeMappings, input);
138
125
  };
139
126
 
140
- decoders.Call = (input?: Record<string, any>) => {
141
- const typeMappings: TypeMapping = {
142
- created_at: { type: 'DatetimeType', isSingle: true },
143
-
144
- updated_at: { type: 'DatetimeType', isSingle: true },
145
-
146
- blocked_users: { type: 'User', isSingle: false },
147
-
148
- egresses: { type: 'CallEgress', isSingle: false },
149
-
150
- members: { type: 'CallMember', isSingle: false },
151
-
152
- deleted_at: { type: 'DatetimeType', isSingle: true },
153
-
154
- egress_updated_at: { type: 'DatetimeType', isSingle: true },
155
-
156
- ended_at: { type: 'DatetimeType', isSingle: true },
157
-
158
- last_heartbeat_at: { type: 'DatetimeType', isSingle: true },
159
-
160
- starts_at: { type: 'DatetimeType', isSingle: true },
161
-
162
- call_type: { type: 'CallType', isSingle: true },
163
-
164
- created_by: { type: 'User', isSingle: true },
165
-
166
- session: { type: 'CallSession', isSingle: true },
167
- };
168
- return decode(typeMappings, input);
169
- };
170
-
171
- decoders.CallEgress = (input?: Record<string, any>) => {
172
- const typeMappings: TypeMapping = {
173
- started_at: { type: 'DatetimeType', isSingle: true },
174
-
175
- updated_at: { type: 'DatetimeType', isSingle: true },
176
-
177
- stopped_at: { type: 'DatetimeType', isSingle: true },
178
- };
179
- return decode(typeMappings, input);
180
- };
181
-
182
- decoders.CallMember = (input?: Record<string, any>) => {
183
- const typeMappings: TypeMapping = {
184
- created_at: { type: 'DatetimeType', isSingle: true },
185
-
186
- updated_at: { type: 'DatetimeType', isSingle: true },
187
-
188
- deleted_at: { type: 'DatetimeType', isSingle: true },
189
-
190
- user: { type: 'User', isSingle: true },
191
- };
192
- return decode(typeMappings, input);
193
- };
194
-
195
- decoders.CallParticipant = (input?: Record<string, any>) => {
196
- const typeMappings: TypeMapping = {
197
- joined_at: { type: 'DatetimeType', isSingle: true },
198
-
199
- ban_expires: { type: 'DatetimeType', isSingle: true },
200
-
201
- created_at: { type: 'DatetimeType', isSingle: true },
202
-
203
- deactivated_at: { type: 'DatetimeType', isSingle: true },
204
-
205
- deleted_at: { type: 'DatetimeType', isSingle: true },
206
-
207
- last_active: { type: 'DatetimeType', isSingle: true },
208
-
209
- last_engaged_at: { type: 'DatetimeType', isSingle: true },
210
-
211
- revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },
212
-
213
- updated_at: { type: 'DatetimeType', isSingle: true },
214
- };
215
- return decode(typeMappings, input);
216
- };
217
-
218
127
  decoders.CallParticipantResponse = (input?: Record<string, any>) => {
219
128
  const typeMappings: TypeMapping = {
220
129
  joined_at: { type: 'DatetimeType', isSingle: true },
@@ -259,37 +168,6 @@ decoders.CallResponse = (input?: Record<string, any>) => {
259
168
  return decode(typeMappings, input);
260
169
  };
261
170
 
262
- decoders.CallSession = (input?: Record<string, any>) => {
263
- const typeMappings: TypeMapping = {
264
- created_at: { type: 'DatetimeType', isSingle: true },
265
-
266
- active_sf_us: { type: 'SFUIDLastSeen', isSingle: false },
267
-
268
- participants: { type: 'CallParticipant', isSingle: false },
269
-
270
- accepted_by: { type: 'DatetimeType', isSingle: false },
271
-
272
- missed_by: { type: 'DatetimeType', isSingle: false },
273
-
274
- rejected_by: { type: 'DatetimeType', isSingle: false },
275
-
276
- deleted_at: { type: 'DatetimeType', isSingle: true },
277
-
278
- ended_at: { type: 'DatetimeType', isSingle: true },
279
-
280
- live_ended_at: { type: 'DatetimeType', isSingle: true },
281
-
282
- live_started_at: { type: 'DatetimeType', isSingle: true },
283
-
284
- ring_at: { type: 'DatetimeType', isSingle: true },
285
-
286
- started_at: { type: 'DatetimeType', isSingle: true },
287
-
288
- timer_ends_at: { type: 'DatetimeType', isSingle: true },
289
- };
290
- return decode(typeMappings, input);
291
- };
292
-
293
171
  decoders.CallSessionResponse = (input?: Record<string, any>) => {
294
172
  const typeMappings: TypeMapping = {
295
173
  participants: { type: 'CallParticipantResponse', isSingle: false },
@@ -398,6 +276,8 @@ decoders.Channel = (input?: Record<string, any>) => {
398
276
 
399
277
  last_message_at: { type: 'DatetimeType', isSingle: true },
400
278
 
279
+ active_live_locations: { type: 'SharedLocation', isSingle: false },
280
+
401
281
  invites: { type: 'ChannelMember', isSingle: false },
402
282
 
403
283
  members: { type: 'ChannelMember', isSingle: false },
@@ -538,6 +418,11 @@ decoders.ChannelStateResponse = (input?: Record<string, any>) => {
538
418
 
539
419
  hide_messages_before: { type: 'DatetimeType', isSingle: true },
540
420
 
421
+ active_live_locations: {
422
+ type: 'SharedLocationResponseData',
423
+ isSingle: false,
424
+ },
425
+
541
426
  pending_messages: { type: 'PendingMessageResponse', isSingle: false },
542
427
 
543
428
  read: { type: 'ReadStateResponse', isSingle: false },
@@ -567,6 +452,11 @@ decoders.ChannelStateResponseFields = (input?: Record<string, any>) => {
567
452
 
568
453
  hide_messages_before: { type: 'DatetimeType', isSingle: true },
569
454
 
455
+ active_live_locations: {
456
+ type: 'SharedLocationResponseData',
457
+ isSingle: false,
458
+ },
459
+
570
460
  pending_messages: { type: 'PendingMessageResponse', isSingle: false },
571
461
 
572
462
  read: { type: 'ReadStateResponse', isSingle: false },
@@ -604,7 +494,7 @@ decoders.ChatActivityStatsResponse = (input?: Record<string, any>) => {
604
494
 
605
495
  decoders.CheckResponse = (input?: Record<string, any>) => {
606
496
  const typeMappings: TypeMapping = {
607
- item: { type: 'ReviewQueueItem', isSingle: true },
497
+ item: { type: 'ReviewQueueItemResponse', isSingle: true },
608
498
  };
609
499
  return decode(typeMappings, input);
610
500
  };
@@ -774,27 +664,6 @@ decoders.EgressRTMPResponse = (input?: Record<string, any>) => {
774
664
  return decode(typeMappings, input);
775
665
  };
776
666
 
777
- decoders.EntityCreator = (input?: Record<string, any>) => {
778
- const typeMappings: TypeMapping = {
779
- ban_expires: { type: 'DatetimeType', isSingle: true },
780
-
781
- created_at: { type: 'DatetimeType', isSingle: true },
782
-
783
- deactivated_at: { type: 'DatetimeType', isSingle: true },
784
-
785
- deleted_at: { type: 'DatetimeType', isSingle: true },
786
-
787
- last_active: { type: 'DatetimeType', isSingle: true },
788
-
789
- last_engaged_at: { type: 'DatetimeType', isSingle: true },
790
-
791
- revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },
792
-
793
- updated_at: { type: 'DatetimeType', isSingle: true },
794
- };
795
- return decode(typeMappings, input);
796
- };
797
-
798
667
  decoders.EntityCreatorResponse = (input?: Record<string, any>) => {
799
668
  const typeMappings: TypeMapping = {
800
669
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -848,19 +717,6 @@ decoders.ExportUserResponse = (input?: Record<string, any>) => {
848
717
  return decode(typeMappings, input);
849
718
  };
850
719
 
851
- decoders.Flag = (input?: Record<string, any>) => {
852
- const typeMappings: TypeMapping = {
853
- created_at: { type: 'DatetimeType', isSingle: true },
854
-
855
- updated_at: { type: 'DatetimeType', isSingle: true },
856
-
857
- review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
858
-
859
- user: { type: 'User', isSingle: true },
860
- };
861
- return decode(typeMappings, input);
862
- };
863
-
864
720
  decoders.FlagDetails = (input?: Record<string, any>) => {
865
721
  const typeMappings: TypeMapping = {
866
722
  automod: { type: 'AutomodDetails', isSingle: true },
@@ -900,6 +756,15 @@ decoders.FullUserResponse = (input?: Record<string, any>) => {
900
756
  return decode(typeMappings, input);
901
757
  };
902
758
 
759
+ decoders.GetActiveCallsStatusResponse = (input?: Record<string, any>) => {
760
+ const typeMappings: TypeMapping = {
761
+ end_time: { type: 'DatetimeType', isSingle: true },
762
+
763
+ start_time: { type: 'DatetimeType', isSingle: true },
764
+ };
765
+ return decode(typeMappings, input);
766
+ };
767
+
903
768
  decoders.GetApplicationResponse = (input?: Record<string, any>) => {
904
769
  const typeMappings: TypeMapping = {
905
770
  app: { type: 'AppResponseFields', isSingle: true },
@@ -1217,6 +1082,8 @@ decoders.Message = (input?: Record<string, any>) => {
1217
1082
 
1218
1083
  reminder: { type: 'MessageReminder', isSingle: true },
1219
1084
 
1085
+ shared_location: { type: 'SharedLocation', isSingle: true },
1086
+
1220
1087
  user: { type: 'User', isSingle: true },
1221
1088
  };
1222
1089
  return decode(typeMappings, input);
@@ -1330,6 +1197,8 @@ decoders.MessageResponse = (input?: Record<string, any>) => {
1330
1197
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1331
1198
 
1332
1199
  reminder: { type: 'ReminderResponseData', isSingle: true },
1200
+
1201
+ shared_location: { type: 'SharedLocationResponseData', isSingle: true },
1333
1202
  };
1334
1203
  return decode(typeMappings, input);
1335
1204
  };
@@ -1378,13 +1247,15 @@ decoders.MessageWithChannelResponse = (input?: Record<string, any>) => {
1378
1247
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1379
1248
 
1380
1249
  reminder: { type: 'ReminderResponseData', isSingle: true },
1250
+
1251
+ shared_location: { type: 'SharedLocationResponseData', isSingle: true },
1381
1252
  };
1382
1253
  return decode(typeMappings, input);
1383
1254
  };
1384
1255
 
1385
1256
  decoders.ModerationFlagResponse = (input?: Record<string, any>) => {
1386
1257
  const typeMappings: TypeMapping = {
1387
- review_queue_item: { type: 'ReviewQueueItem', isSingle: true },
1258
+ review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },
1388
1259
 
1389
1260
  user: { type: 'UserResponse', isSingle: true },
1390
1261
  };
@@ -1846,33 +1717,6 @@ decoders.ReminderResponseData = (input?: Record<string, any>) => {
1846
1717
  return decode(typeMappings, input);
1847
1718
  };
1848
1719
 
1849
- decoders.ReviewQueueItem = (input?: Record<string, any>) => {
1850
- const typeMappings: TypeMapping = {
1851
- created_at: { type: 'DatetimeType', isSingle: true },
1852
-
1853
- updated_at: { type: 'DatetimeType', isSingle: true },
1854
-
1855
- actions: { type: 'ActionLog', isSingle: false },
1856
-
1857
- bans: { type: 'Ban', isSingle: false },
1858
-
1859
- flags: { type: 'Flag', isSingle: false },
1860
-
1861
- assigned_to: { type: 'User', isSingle: true },
1862
-
1863
- call: { type: 'Call', isSingle: true },
1864
-
1865
- entity_creator: { type: 'EntityCreator', isSingle: true },
1866
-
1867
- feeds_v2_reaction: { type: 'Reaction', isSingle: true },
1868
-
1869
- message: { type: 'Message', isSingle: true },
1870
-
1871
- reaction: { type: 'Reaction', isSingle: true },
1872
- };
1873
- return decode(typeMappings, input);
1874
- };
1875
-
1876
1720
  decoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {
1877
1721
  const typeMappings: TypeMapping = {
1878
1722
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1911,13 +1755,6 @@ decoders.Role = (input?: Record<string, any>) => {
1911
1755
  return decode(typeMappings, input);
1912
1756
  };
1913
1757
 
1914
- decoders.SFUIDLastSeen = (input?: Record<string, any>) => {
1915
- const typeMappings: TypeMapping = {
1916
- last_seen: { type: 'DatetimeType', isSingle: true },
1917
- };
1918
- return decode(typeMappings, input);
1919
- };
1920
-
1921
1758
  decoders.SearchResult = (input?: Record<string, any>) => {
1922
1759
  const typeMappings: TypeMapping = {
1923
1760
  message: { type: 'SearchResultMessage', isSingle: true },
@@ -1962,6 +1799,8 @@ decoders.SearchResultMessage = (input?: Record<string, any>) => {
1962
1799
  reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },
1963
1800
 
1964
1801
  reminder: { type: 'ReminderResponseData', isSingle: true },
1802
+
1803
+ shared_location: { type: 'SharedLocationResponseData', isSingle: true },
1965
1804
  };
1966
1805
  return decode(typeMappings, input);
1967
1806
  };
@@ -2011,6 +1850,61 @@ decoders.SendReactionResponse = (input?: Record<string, any>) => {
2011
1850
  return decode(typeMappings, input);
2012
1851
  };
2013
1852
 
1853
+ decoders.SharedLocation = (input?: Record<string, any>) => {
1854
+ const typeMappings: TypeMapping = {
1855
+ created_at: { type: 'DatetimeType', isSingle: true },
1856
+
1857
+ updated_at: { type: 'DatetimeType', isSingle: true },
1858
+
1859
+ end_at: { type: 'DatetimeType', isSingle: true },
1860
+
1861
+ channel: { type: 'Channel', isSingle: true },
1862
+
1863
+ message: { type: 'Message', isSingle: true },
1864
+ };
1865
+ return decode(typeMappings, input);
1866
+ };
1867
+
1868
+ decoders.SharedLocationResponse = (input?: Record<string, any>) => {
1869
+ const typeMappings: TypeMapping = {
1870
+ created_at: { type: 'DatetimeType', isSingle: true },
1871
+
1872
+ updated_at: { type: 'DatetimeType', isSingle: true },
1873
+
1874
+ end_at: { type: 'DatetimeType', isSingle: true },
1875
+
1876
+ channel: { type: 'ChannelResponse', isSingle: true },
1877
+
1878
+ message: { type: 'MessageResponse', isSingle: true },
1879
+ };
1880
+ return decode(typeMappings, input);
1881
+ };
1882
+
1883
+ decoders.SharedLocationResponseData = (input?: Record<string, any>) => {
1884
+ const typeMappings: TypeMapping = {
1885
+ created_at: { type: 'DatetimeType', isSingle: true },
1886
+
1887
+ updated_at: { type: 'DatetimeType', isSingle: true },
1888
+
1889
+ end_at: { type: 'DatetimeType', isSingle: true },
1890
+
1891
+ channel: { type: 'ChannelResponse', isSingle: true },
1892
+
1893
+ message: { type: 'MessageResponse', isSingle: true },
1894
+ };
1895
+ return decode(typeMappings, input);
1896
+ };
1897
+
1898
+ decoders.SharedLocationsResponse = (input?: Record<string, any>) => {
1899
+ const typeMappings: TypeMapping = {
1900
+ active_live_locations: {
1901
+ type: 'SharedLocationResponseData',
1902
+ isSingle: false,
1903
+ },
1904
+ };
1905
+ return decode(typeMappings, input);
1906
+ };
1907
+
2014
1908
  decoders.StopLiveResponse = (input?: Record<string, any>) => {
2015
1909
  const typeMappings: TypeMapping = {
2016
1910
  call: { type: 'CallResponse', isSingle: true },
@@ -2020,7 +1914,7 @@ decoders.StopLiveResponse = (input?: Record<string, any>) => {
2020
1914
 
2021
1915
  decoders.SubmitActionResponse = (input?: Record<string, any>) => {
2022
1916
  const typeMappings: TypeMapping = {
2023
- item: { type: 'ReviewQueueItem', isSingle: true },
1917
+ item: { type: 'ReviewQueueItemResponse', isSingle: true },
2024
1918
  };
2025
1919
  return decode(typeMappings, input);
2026
1920
  };