@stream-io/node-sdk 0.2.6 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs.js +2461 -2124
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.es.js +2450 -2109
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/src/StreamCall.d.ts +1 -1
  7. package/dist/src/StreamChannel.d.ts +7 -9
  8. package/dist/src/StreamChatClient.d.ts +2 -5
  9. package/dist/src/StreamClient.d.ts +15 -26
  10. package/dist/src/gen/chat/apis/ProductchatApi.d.ts +1750 -0
  11. package/dist/src/gen/chat/apis/index.d.ts +1 -27
  12. package/dist/src/gen/chat/models/index.d.ts +5101 -5891
  13. package/dist/src/gen/chat/runtime.d.ts +2 -2
  14. package/dist/src/gen/video/apis/ProductvideoApi.d.ts +1 -1
  15. package/dist/src/gen/video/models/index.d.ts +189 -35
  16. package/dist/src/gen/video/runtime.d.ts +1 -1
  17. package/package.json +8 -1
  18. package/src/StreamCall.ts +7 -7
  19. package/src/StreamChannel.ts +44 -49
  20. package/src/StreamChatClient.ts +23 -35
  21. package/src/StreamClient.ts +71 -232
  22. package/src/gen/chat/.openapi-generator/FILES +1 -19
  23. package/src/gen/chat/apis/ProductchatApi.ts +7007 -0
  24. package/src/gen/chat/apis/index.ts +1 -27
  25. package/src/gen/chat/models/index.ts +5758 -6564
  26. package/src/gen/chat/runtime.ts +3 -3
  27. package/src/gen/video/apis/ProductvideoApi.ts +1 -1
  28. package/src/gen/video/models/index.ts +184 -36
  29. package/src/gen/video/runtime.ts +1 -1
  30. package/dist/src/gen/chat/apis/ChannelTypesApi.d.ts +0 -81
  31. package/dist/src/gen/chat/apis/ChannelsApi.d.ts +0 -280
  32. package/dist/src/gen/chat/apis/CustomCommandsApi.d.ts +0 -81
  33. package/dist/src/gen/chat/apis/DefaultApi.d.ts +0 -60
  34. package/dist/src/gen/chat/apis/DevicesApi.d.ts +0 -58
  35. package/dist/src/gen/chat/apis/EventsApi.d.ts +0 -47
  36. package/dist/src/gen/chat/apis/FilesApi.d.ts +0 -85
  37. package/dist/src/gen/chat/apis/GDPRApi.d.ts +0 -114
  38. package/dist/src/gen/chat/apis/ImportsApi.d.ts +0 -67
  39. package/dist/src/gen/chat/apis/MessagesApi.d.ts +0 -374
  40. package/dist/src/gen/chat/apis/ModerationApi.d.ts +0 -271
  41. package/dist/src/gen/chat/apis/PermissionsV2Api.d.ts +0 -77
  42. package/dist/src/gen/chat/apis/PushApi.d.ts +0 -65
  43. package/dist/src/gen/chat/apis/ReactionsApi.d.ts +0 -62
  44. package/dist/src/gen/chat/apis/ServerSideApi.d.ts +0 -31
  45. package/dist/src/gen/chat/apis/SettingsApi.d.ts +0 -257
  46. package/dist/src/gen/chat/apis/TasksApi.d.ts +0 -31
  47. package/dist/src/gen/chat/apis/TestingApi.d.ts +0 -57
  48. package/dist/src/gen/chat/apis/UsersApi.d.ts +0 -313
  49. package/src/gen/chat/apis/ChannelTypesApi.ts +0 -275
  50. package/src/gen/chat/apis/ChannelsApi.ts +0 -1096
  51. package/src/gen/chat/apis/CustomCommandsApi.ts +0 -276
  52. package/src/gen/chat/apis/DefaultApi.ts +0 -196
  53. package/src/gen/chat/apis/DevicesApi.ts +0 -180
  54. package/src/gen/chat/apis/EventsApi.ts +0 -147
  55. package/src/gen/chat/apis/FilesApi.ts +0 -312
  56. package/src/gen/chat/apis/GDPRApi.ts +0 -418
  57. package/src/gen/chat/apis/ImportsApi.ts +0 -222
  58. package/src/gen/chat/apis/MessagesApi.ts +0 -1475
  59. package/src/gen/chat/apis/ModerationApi.ts +0 -1038
  60. package/src/gen/chat/apis/PermissionsV2Api.ts +0 -259
  61. package/src/gen/chat/apis/PushApi.ts +0 -183
  62. package/src/gen/chat/apis/ReactionsApi.ts +0 -202
  63. package/src/gen/chat/apis/ServerSideApi.ts +0 -79
  64. package/src/gen/chat/apis/SettingsApi.ts +0 -948
  65. package/src/gen/chat/apis/TasksApi.ts +0 -75
  66. package/src/gen/chat/apis/TestingApi.ts +0 -185
  67. package/src/gen/chat/apis/UsersApi.ts +0 -1203
@@ -1,12 +1,9 @@
1
1
  import { StreamChannel } from './StreamChannel';
2
2
  import { StreamClient } from './StreamClient';
3
3
  import {
4
- ChannelTypesApi,
5
- ChannelsApi,
6
4
  CreateBlockListRequest,
7
5
  CreateChannelTypeRequest,
8
6
  CreateCommandRequest,
9
- CustomCommandsApi,
10
7
  DeleteBlockListRequest,
11
8
  DeleteChannelTypeRequest,
12
9
  DeleteCommandRequest,
@@ -15,30 +12,21 @@ import {
15
12
  GetChannelTypeRequest,
16
13
  GetCommandRequest,
17
14
  GetExportChannelsStatusRequest,
15
+ ProductchatApi,
18
16
  QueryChannelsRequest,
19
17
  SearchRequest,
20
- SettingsApi,
21
18
  UpdateBlockListRequest,
22
19
  UpdateChannelTypeRequest,
23
20
  UpdateCommandRequest,
24
21
  } from './gen/chat';
25
22
 
26
23
  export class StreamChatClient {
27
- private readonly settingsApi: SettingsApi;
28
- private readonly channelTypesApi: ChannelTypesApi;
29
- private readonly channelsApi: ChannelsApi;
30
- private readonly commandsApi: CustomCommandsApi;
24
+ private readonly chatApi: ProductchatApi;
31
25
 
32
26
  constructor(private readonly streamClient: StreamClient) {
33
27
  const configuration = this.streamClient.getConfiguration();
34
28
  /** @ts-expect-error */
35
- this.settingsApi = new SettingsApi(configuration);
36
- /** @ts-expect-error */
37
- this.channelTypesApi = new ChannelTypesApi(configuration);
38
- /** @ts-expect-error */
39
- this.channelsApi = new ChannelsApi(configuration);
40
- /** @ts-expect-error */
41
- this.commandsApi = new CustomCommandsApi(configuration);
29
+ this.chatApi = new ProductchatApi(configuration);
42
30
  }
43
31
 
44
32
  channel = (type: string, id?: string) => {
@@ -46,94 +34,94 @@ export class StreamChatClient {
46
34
  };
47
35
 
48
36
  createBlockList = (createBlockListRequest: CreateBlockListRequest) => {
49
- return this.settingsApi.createBlockList({ createBlockListRequest });
37
+ return this.chatApi.createBlockList({ createBlockListRequest });
50
38
  };
51
39
 
52
40
  listBlockLists = () => {
53
- return this.settingsApi.listBlockLists();
41
+ return this.chatApi.listBlockLists();
54
42
  };
55
43
 
56
44
  getBlockList = (request: GetBlockListRequest) => {
57
- return this.settingsApi.getBlockList(request);
45
+ return this.chatApi.getBlockList(request);
58
46
  };
59
47
 
60
48
  updateBlockList = (
61
49
  name: string,
62
50
  updateBlockListRequest: UpdateBlockListRequest,
63
51
  ) => {
64
- return this.settingsApi.updateBlockList({ name, updateBlockListRequest });
52
+ return this.chatApi.updateBlockList({ name, updateBlockListRequest });
65
53
  };
66
54
 
67
55
  deleteBlockList = (request: DeleteBlockListRequest) => {
68
- return this.settingsApi.deleteBlockList(request);
56
+ return this.chatApi.deleteBlockList(request);
69
57
  };
70
58
 
71
59
  createChannelType = (createChannelTypeRequest: CreateChannelTypeRequest) => {
72
- return this.channelTypesApi.createChannelType({ createChannelTypeRequest });
60
+ return this.chatApi.createChannelType({ createChannelTypeRequest });
73
61
  };
74
62
 
75
63
  deleteChannelType = (request: DeleteChannelTypeRequest) => {
76
- return this.channelTypesApi.deleteChannelType(request);
64
+ return this.chatApi.deleteChannelType(request);
77
65
  };
78
66
 
79
67
  getChannelType = (request: GetChannelTypeRequest) => {
80
- return this.channelTypesApi.getChannelType(request);
68
+ return this.chatApi.getChannelType(request);
81
69
  };
82
70
 
83
71
  listChannelTypes = () => {
84
- return this.channelTypesApi.listChannelTypes();
72
+ return this.chatApi.listChannelTypes();
85
73
  };
86
74
 
87
75
  updateChannelType = (
88
76
  name: string,
89
77
  updateChannelTypeRequest: UpdateChannelTypeRequest,
90
78
  ) => {
91
- return this.channelTypesApi.updateChannelType({
79
+ return this.chatApi.updateChannelType({
92
80
  name,
93
81
  updateChannelTypeRequest,
94
82
  });
95
83
  };
96
84
 
97
85
  queryChannels = (queryChannelsRequest?: QueryChannelsRequest) => {
98
- return this.channelsApi.queryChannels({
99
- queryChannelsRequest: queryChannelsRequest ?? null,
86
+ return this.chatApi.queryChannels({
87
+ queryChannelsRequest: queryChannelsRequest ?? {},
100
88
  });
101
89
  };
102
90
 
103
91
  searchMessages = (payload?: SearchRequest) => {
104
- return this.channelsApi.search({ payload });
92
+ return this.chatApi.search({ payload });
105
93
  };
106
94
 
107
95
  exportChannels = (exportChannelsRequest?: ExportChannelsRequest) => {
108
- return this.channelsApi.exportChannels({
96
+ return this.chatApi.exportChannels({
109
97
  exportChannelsRequest: exportChannelsRequest ?? null,
110
98
  });
111
99
  };
112
100
 
113
101
  getExportStatus = (request: GetExportChannelsStatusRequest) => {
114
- return this.channelsApi.getExportChannelsStatus(request);
102
+ return this.chatApi.getExportChannelsStatus(request);
115
103
  };
116
104
 
117
105
  listCommands = () => {
118
- return this.commandsApi.listCommands();
106
+ return this.chatApi.listCommands();
119
107
  };
120
108
 
121
109
  createCommand = (createCommandRequest: CreateCommandRequest) => {
122
- return this.commandsApi.createCommand({ createCommandRequest });
110
+ return this.chatApi.createCommand({ createCommandRequest });
123
111
  };
124
112
 
125
113
  getCommand = (getCommandRequest: GetCommandRequest) => {
126
- return this.commandsApi.getCommand(getCommandRequest);
114
+ return this.chatApi.getCommand(getCommandRequest);
127
115
  };
128
116
 
129
117
  updateCommand = (
130
118
  name: string,
131
119
  updateCommandRequest: UpdateCommandRequest,
132
120
  ) => {
133
- return this.commandsApi.updateCommand({ name, updateCommandRequest });
121
+ return this.chatApi.updateCommand({ name, updateCommandRequest });
134
122
  };
135
123
 
136
124
  deleteCommand = (request: DeleteCommandRequest) => {
137
- return this.commandsApi.deleteCommand(request);
125
+ return this.chatApi.deleteCommand(request);
138
126
  };
139
127
  }
@@ -3,48 +3,39 @@ import { StreamVideoClient } from './StreamVideoClient';
3
3
  import {
4
4
  APIError,
5
5
  BanRequest,
6
+ BlockUsersRequest,
6
7
  CheckPushRequest,
7
8
  CreateDeviceRequest,
9
+ CreateGuestRequest,
8
10
  CreateRoleRequest,
9
11
  DeactivateUserRequest,
10
12
  DeactivateUsersRequest,
11
13
  DeleteDeviceRequest,
12
14
  DeletePushProviderRequest,
13
15
  DeleteRoleRequest,
14
- DeleteUserRequest,
15
16
  DeleteUsersRequest,
16
- DevicesApi,
17
- EventsApi,
18
17
  ExportUserRequest,
19
18
  ExportUsersRequest,
20
19
  FlagRequest,
20
+ GetBlockedUsersRequest,
21
21
  GetPermissionRequest,
22
22
  GetTaskRequest,
23
- GuestRequest,
24
23
  ListDevicesRequest,
25
24
  MuteUserRequest,
26
- PermissionsV2Api,
27
- PushApi,
28
- PushProviderRequest,
25
+ ProductchatApi,
26
+ PushProvider,
29
27
  QueryBannedUsersRequest,
30
- QueryUsersRequest,
28
+ QueryUsersPayload,
31
29
  ReactivateUserRequest,
32
30
  ReactivateUsersRequest,
33
31
  RestoreUsersRequest,
34
- ServerSideApi,
35
- SettingsApi,
36
- TasksApi,
37
- TestingApi,
38
32
  UnbanRequest,
33
+ UnblockUsersRequest,
39
34
  UnmuteUserRequest,
40
35
  UpdateAppRequest,
41
36
  UpdateUserPartialRequest,
42
37
  UpdateUsersRequest,
43
38
  UserCustomEventRequest,
44
- UserObject,
45
- UserObjectRequest,
46
- UserResponse,
47
- UsersApi,
48
39
  } from './gen/chat';
49
40
  import {
50
41
  Configuration,
@@ -69,15 +60,7 @@ export class StreamClient {
69
60
  public readonly video: StreamVideoClient;
70
61
  public readonly chat: StreamChatClient;
71
62
  public readonly options: StreamClientOptions = {};
72
- private readonly usersApi: UsersApi;
73
- private readonly devicesApi: DevicesApi;
74
- private readonly pushApi: PushApi;
75
- private readonly serversideApi: ServerSideApi;
76
- private readonly testingApi: TestingApi;
77
- private readonly permissionsApi: PermissionsV2Api;
78
- private readonly settingsApi: SettingsApi;
79
- private readonly eventsApi: EventsApi;
80
- private readonly tasksApi: TasksApi;
63
+ private readonly chatApi: ProductchatApi;
81
64
  private readonly token: string;
82
65
  private static readonly DEFAULT_TIMEOUT = 3000;
83
66
 
@@ -109,23 +92,7 @@ export class StreamClient {
109
92
 
110
93
  const chatConfiguration = this.getConfiguration();
111
94
  /** @ts-expect-error */
112
- this.usersApi = new UsersApi(chatConfiguration);
113
- /** @ts-expect-error */
114
- this.devicesApi = new DevicesApi(chatConfiguration);
115
- /** @ts-expect-error */
116
- this.pushApi = new PushApi(chatConfiguration);
117
- /** @ts-expect-error */
118
- this.serversideApi = new ServerSideApi(chatConfiguration);
119
- /** @ts-expect-error */
120
- this.testingApi = new TestingApi(chatConfiguration);
121
- /** @ts-expect-error */
122
- this.permissionsApi = new PermissionsV2Api(chatConfiguration);
123
- /** @ts-expect-error */
124
- this.settingsApi = new SettingsApi(chatConfiguration);
125
- /** @ts-expect-error */
126
- this.eventsApi = new EventsApi(chatConfiguration);
127
- /** @ts-expect-error */
128
- this.tasksApi = new TasksApi(chatConfiguration);
95
+ this.chatApi = new ProductchatApi(chatConfiguration);
129
96
  }
130
97
 
131
98
  /**
@@ -190,246 +157,160 @@ export class StreamClient {
190
157
  }
191
158
 
192
159
  createDevice = (createDeviceRequest: CreateDeviceRequest) => {
193
- return this.devicesApi.createDevice({ createDeviceRequest });
160
+ return this.chatApi.createDevice({ createDeviceRequest });
194
161
  };
195
162
 
196
163
  deleteDevice = (requestParameters: DeleteDeviceRequest) => {
197
- return this.devicesApi.deleteDevice(requestParameters);
164
+ return this.chatApi.deleteDevice(requestParameters);
198
165
  };
199
166
 
200
167
  listDevices = (requestParameters: ListDevicesRequest) => {
201
- return this.devicesApi.listDevices(requestParameters);
168
+ return this.chatApi.listDevices(requestParameters);
202
169
  };
203
170
 
204
171
  listPushProviders = () => {
205
- return this.pushApi.listPushProviders();
172
+ return this.chatApi.listPushProviders();
206
173
  };
207
174
 
208
175
  deletePushProvider = (request: DeletePushProviderRequest) => {
209
- return this.pushApi.deletePushProvider(request);
176
+ return this.chatApi.deletePushProvider(request);
210
177
  };
211
178
 
212
- upsertPushProvider = (request: PushProviderRequest) => {
213
- return this.serversideApi.upsertPushProvider({
179
+ upsertPushProvider = (request: PushProvider) => {
180
+ return this.chatApi.upsertPushProvider({
214
181
  upsertPushProviderRequest: { push_provider: request },
215
182
  });
216
183
  };
217
184
 
218
185
  checkPush = (checkPushRequest: CheckPushRequest) => {
219
- return this.testingApi.checkPush({ checkPushRequest });
186
+ return this.chatApi.checkPush({ checkPushRequest });
220
187
  };
221
188
 
222
- createGuest = async (guestRequest: GuestRequest) => {
223
- guestRequest.user = this.mapCustomDataBeforeSend(guestRequest.user);
224
- const response = await this.usersApi.createGuest({ guestRequest });
225
- response.user = this.mapCustomDataAfterReceive(response.user);
226
-
227
- return response;
189
+ createGuest = (createGuestRequest: CreateGuestRequest) => {
190
+ return this.chatApi.createGuest({ createGuestRequest });
228
191
  };
229
192
 
230
193
  banUser = (banRequest: BanRequest) => {
231
- banRequest.user = this.mapCustomDataBeforeSend(banRequest.user);
232
- banRequest.banned_by = this.mapCustomDataBeforeSend(banRequest.banned_by);
233
- return this.usersApi.ban({ banRequest });
194
+ return this.chatApi.ban({ banRequest });
234
195
  };
235
196
 
236
- deactivateUser = async (deactivateUserRequest: DeactivateUserRequest) => {
237
- const response = await this.usersApi.deactivateUser({
197
+ deactivateUser = (
198
+ deactivateUserRequest: DeactivateUserRequest & { user_id: string },
199
+ ) => {
200
+ return this.chatApi.deactivateUser({
238
201
  deactivateUserRequest,
239
202
  userId: deactivateUserRequest.user_id,
240
203
  });
241
- response.user = this.mapCustomDataAfterReceive(response.user);
242
-
243
- return response;
244
204
  };
245
205
 
246
206
  deactivateUsers = (deactivateUsersRequest: DeactivateUsersRequest) => {
247
- return this.usersApi.deactivateUsers({ deactivateUsersRequest });
248
- };
249
-
250
- /**
251
- * @deprecated use `deleteUsers` instead
252
- * @param deleteUsersRequest
253
- * @returns
254
- */
255
- deleteUser = async (request: DeleteUserRequest) => {
256
- const response = await this.usersApi.deleteUser(request);
257
- response.user = this.mapCustomDataAfterReceive(response.user);
258
-
259
- return response;
207
+ return this.chatApi.deactivateUsers({ deactivateUsersRequest });
260
208
  };
261
209
 
262
210
  deleteUsers = (deleteUsersRequest: DeleteUsersRequest) => {
263
- return this.usersApi.deleteUsers({ deleteUsersRequest });
211
+ return this.chatApi.deleteUsers({ deleteUsersRequest });
264
212
  };
265
213
 
266
214
  exportUser = (request: ExportUserRequest) => {
267
- return this.usersApi.exportUser(request);
215
+ return this.chatApi.exportUser(request);
268
216
  };
269
217
 
270
218
  exportUsers = (exportUsersRequest: ExportUsersRequest) => {
271
- return this.usersApi.exportUsers({ exportUsersRequest });
219
+ return this.chatApi.exportUsers({ exportUsersRequest });
272
220
  };
273
221
 
274
- flag = async (flagRequest: FlagRequest) => {
275
- flagRequest.user = this.mapCustomDataBeforeSend(flagRequest.user);
276
- const response = await this.usersApi.flag({ flagRequest });
277
- if (response.flag?.user) {
278
- response.flag.user = this.mapCustomDataAfterReceive(response.flag?.user);
279
- }
280
-
281
- return response;
222
+ flag = (flagRequest: FlagRequest) => {
223
+ return this.chatApi.flag({ flagRequest });
282
224
  };
283
225
 
284
- queryBannedUsers = async (payload: QueryBannedUsersRequest) => {
285
- payload.user = this.mapCustomDataBeforeSend(payload.user);
286
- const response = await this.usersApi.queryBannedUsers({ payload });
287
- response.bans.forEach((b) => {
288
- b.banned_by = this.mapCustomDataAfterReceive(b.banned_by);
289
- b.user = this.mapCustomDataAfterReceive(b.user);
290
- });
291
-
292
- return response;
226
+ queryBannedUsers = (payload: QueryBannedUsersRequest) => {
227
+ return this.chatApi.queryBannedUsers({ payload });
293
228
  };
294
229
 
295
- queryUsers = async (payload: QueryUsersRequest) => {
296
- payload.user = this.mapCustomDataBeforeSend(payload.user);
297
- const response = await this.usersApi.queryUsers({ payload });
298
- /** @ts-expect-error */
299
- response.users = response.users.map((u) =>
300
- this.mapCustomDataAfterReceive(u),
301
- );
302
-
303
- return response;
230
+ queryUsers = (payload: QueryUsersPayload) => {
231
+ return this.chatApi.queryUsers({ payload });
304
232
  };
305
233
 
306
- reactivateUser = async (reactivateUserRequest: ReactivateUserRequest) => {
307
- const response = await this.usersApi.reactivateUser({
234
+ reactivateUser = (
235
+ reactivateUserRequest: ReactivateUserRequest & { user_id: string },
236
+ ) => {
237
+ return this.chatApi.reactivateUser({
308
238
  reactivateUserRequest,
309
239
  userId: reactivateUserRequest.user_id,
310
240
  });
311
- response.user = this.mapCustomDataAfterReceive(response.user);
312
241
  };
313
242
 
314
243
  reactivateUsers = (reactivateUsersRequest: ReactivateUsersRequest) => {
315
- return this.usersApi.reactivateUsers({ reactivateUsersRequest });
244
+ return this.chatApi.reactivateUsers({ reactivateUsersRequest });
316
245
  };
317
246
 
318
247
  restoreUsers = (restoreUsersRequest: RestoreUsersRequest) => {
319
- return this.usersApi.restoreUsers({ restoreUsersRequest });
248
+ return this.chatApi.restoreUsers({ restoreUsersRequest });
320
249
  };
321
250
 
322
251
  unbanUser = (request: UnbanRequest) => {
323
- return this.usersApi.unban(request);
252
+ return this.chatApi.unban(request);
324
253
  };
325
254
 
326
- unflag = async (flagRequest: FlagRequest) => {
327
- const response = await this.usersApi.unflag({ flagRequest });
328
- if (response.flag?.user) {
329
- response.flag.user = this.mapCustomDataAfterReceive(response.flag.user);
330
- }
331
-
332
- return response;
255
+ upsertUsers = (updateUsersRequest: UpdateUsersRequest) => {
256
+ return this.chatApi.updateUsers({ updateUsersRequest });
333
257
  };
334
258
 
335
- upsertUsers = async (updateUsersRequest: UpdateUsersRequest) => {
336
- Object.keys(updateUsersRequest.users).forEach((key) => {
337
- updateUsersRequest.users[key] = this.mapCustomDataBeforeSend(
338
- updateUsersRequest.users[key],
339
- );
340
- });
341
- const response = await this.usersApi.updateUsers({ updateUsersRequest });
342
- Object.keys(response.users).forEach((key) => {
343
- response.users[key] = this.mapCustomDataAfterReceive(
344
- response.users[key],
345
- )!;
259
+ updateUsersPartial = (request: { users: UpdateUserPartialRequest[] }) => {
260
+ return this.chatApi.updateUsersPartial({
261
+ updateUsersPartialRequest: request,
346
262
  });
347
-
348
- return response;
349
263
  };
350
264
 
351
- updateUsersPartial = async (request: {
352
- users: UpdateUserPartialRequest[];
353
- }) => {
354
- const response = await this.usersApi.updateUsersPartial({
355
- /** @ts-expect-error */
356
- updateUserPartialRequest: request,
357
- });
358
- Object.keys(response.users).forEach((key) => {
359
- response.users[key] = this.mapCustomDataAfterReceive(
360
- response.users[key],
361
- )!;
362
- });
363
-
364
- return response;
365
- };
366
-
367
- muteUser = async (muteUserRequest: MuteUserRequest) => {
368
- muteUserRequest.user = this.mapCustomDataBeforeSend(muteUserRequest.user);
369
- const response = await this.usersApi.muteUser({ muteUserRequest });
370
- if (response.mute?.user) {
371
- response.mute.user = this.mapCustomDataAfterReceive(response.mute?.user);
372
- }
373
- if (response.mutes) {
374
- response.mutes = response.mutes.map((m) => {
375
- return {
376
- ...m,
377
- user: this.mapCustomDataAfterReceive(m.user),
378
- };
379
- });
380
- }
381
-
382
- return response;
265
+ muteUser = (muteUserRequest: MuteUserRequest) => {
266
+ return this.chatApi.muteUser({ muteUserRequest });
383
267
  };
384
268
 
385
269
  unmuteUser = (unmuteUserRequest: UnmuteUserRequest) => {
386
- unmuteUserRequest.user = this.mapCustomDataBeforeSend(
387
- unmuteUserRequest.user,
388
- );
389
- return this.usersApi.unmuteUser({ unmuteUserRequest });
270
+ return this.chatApi.unmuteUser({ unmuteUserRequest });
390
271
  };
391
272
 
392
273
  sendCustomEventToUser = (userId: string, event: UserCustomEventRequest) => {
393
- return this.eventsApi.sendUserCustomEvent({
274
+ return this.chatApi.sendUserCustomEvent({
394
275
  userId,
395
276
  sendUserCustomEventRequest: { event },
396
277
  });
397
278
  };
398
279
 
399
280
  createRole = (createRoleRequest: CreateRoleRequest) => {
400
- return this.permissionsApi.createRole({ createRoleRequest });
281
+ return this.chatApi.createRole({ createRoleRequest });
401
282
  };
402
283
 
403
284
  deleteRole = (request: DeleteRoleRequest) => {
404
- return this.permissionsApi.deleteRole(request);
285
+ return this.chatApi.deleteRole(request);
405
286
  };
406
287
 
407
288
  getPermission = (request: GetPermissionRequest) => {
408
- return this.permissionsApi.getPermission(request);
289
+ return this.chatApi.getPermission(request);
409
290
  };
410
291
 
411
292
  listPermissions = () => {
412
- return this.permissionsApi.listPermissions();
293
+ return this.chatApi.listPermissions();
413
294
  };
414
295
 
415
296
  listRoles = () => {
416
- return this.permissionsApi.listRoles();
297
+ return this.chatApi.listRoles();
417
298
  };
418
299
 
419
300
  getAppSettings = () => {
420
- return this.settingsApi.getApp();
301
+ return this.chatApi.getApp();
421
302
  };
422
303
 
423
304
  updateAppSettings = (updateAppRequest: UpdateAppRequest) => {
424
- return this.settingsApi.updateApp({ updateAppRequest });
305
+ return this.chatApi.updateApp({ updateAppRequest });
425
306
  };
426
307
 
427
308
  getRateLimits = () => {
428
- return this.settingsApi.getRateLimits();
309
+ return this.chatApi.getRateLimits();
429
310
  };
430
311
 
431
312
  getTaskStatus = (request: GetTaskRequest) => {
432
- return this.tasksApi.getTask(request);
313
+ return this.chatApi.getTask(request);
433
314
  };
434
315
 
435
316
  verifyWebhook = (requestBody: string | Buffer, xSignature: string) => {
@@ -446,6 +327,18 @@ export class StreamClient {
446
327
  }
447
328
  };
448
329
 
330
+ blockUsers = (blockUsersRequest: BlockUsersRequest) => {
331
+ return this.chatApi.blockUsers({ blockUsersRequest });
332
+ };
333
+
334
+ unblockUsers = (unblockUsersRequest: UnblockUsersRequest) => {
335
+ return this.chatApi.unblockUsers({ unblockUsersRequest });
336
+ };
337
+
338
+ getBlockedUsers = (request: GetBlockedUsersRequest) => {
339
+ return this.chatApi.getBlockedUsers(request);
340
+ };
341
+
449
342
  getConfiguration = (product: 'chat' | 'video' = 'chat') => {
450
343
  return new Configuration({
451
344
  apiKey: (name: string) => {
@@ -536,58 +429,4 @@ export class StreamClient {
536
429
  },
537
430
  });
538
431
  };
539
-
540
- private readonly reservedKeywords = [
541
- 'ban_expires',
542
- 'banned',
543
- 'id',
544
- 'invisible',
545
- 'language',
546
- 'push_notifications',
547
- 'revoke_tokens_issued_before',
548
- 'role',
549
- 'teams',
550
- 'created_at',
551
- 'deactivated_at',
552
- 'deleted_at',
553
- 'last_active',
554
- 'online',
555
- 'updated_at',
556
- 'shadow_banned',
557
- 'name',
558
- 'image',
559
- ];
560
-
561
- private readonly mapCustomDataBeforeSend = (
562
- user: UserObject | UserObjectRequest | UserResponse | undefined,
563
- ) => {
564
- if (!user) {
565
- return undefined;
566
- }
567
- const copy = { ...user };
568
- delete copy.custom;
569
- return { ...copy, ...user.custom };
570
- };
571
-
572
- private mapCustomDataAfterReceive<T = UserObject | UserResponse | undefined>(
573
- user: T,
574
- ) {
575
- if (!user) {
576
- return undefined;
577
- }
578
- /** @ts-expect-error */
579
- const result: UserObject | UserResponse = {};
580
- Object.keys(user).forEach((key) => {
581
- if (!this.reservedKeywords.includes(key)) {
582
- if (!result.custom) {
583
- result.custom = {};
584
- }
585
- result.custom[key] = (user as any)[key];
586
- } else {
587
- result[key] = (user as any)[key];
588
- }
589
- });
590
-
591
- return result;
592
- }
593
432
  }
@@ -1,23 +1,5 @@
1
1
  .openapi-generator-ignore
2
- apis/ChannelTypesApi.ts
3
- apis/ChannelsApi.ts
4
- apis/CustomCommandsApi.ts
5
- apis/DefaultApi.ts
6
- apis/DevicesApi.ts
7
- apis/EventsApi.ts
8
- apis/FilesApi.ts
9
- apis/GDPRApi.ts
10
- apis/ImportsApi.ts
11
- apis/MessagesApi.ts
12
- apis/ModerationApi.ts
13
- apis/PermissionsV2Api.ts
14
- apis/PushApi.ts
15
- apis/ReactionsApi.ts
16
- apis/ServerSideApi.ts
17
- apis/SettingsApi.ts
18
- apis/TasksApi.ts
19
- apis/TestingApi.ts
20
- apis/UsersApi.ts
2
+ apis/ProductchatApi.ts
21
3
  apis/index.ts
22
4
  index.ts
23
5
  models/index.ts