@stream-io/node-sdk 0.2.5 → 0.3.0

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 (66) hide show
  1. package/dist/index.cjs.js +2550 -2124
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.es.js +2535 -2109
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/src/StreamCall.d.ts +5 -3
  6. package/dist/src/StreamChannel.d.ts +7 -9
  7. package/dist/src/StreamChatClient.d.ts +2 -5
  8. package/dist/src/StreamClient.d.ts +15 -26
  9. package/dist/src/gen/chat/apis/ProductchatApi.d.ts +1750 -0
  10. package/dist/src/gen/chat/apis/index.d.ts +1 -27
  11. package/dist/src/gen/chat/models/index.d.ts +5101 -5891
  12. package/dist/src/gen/chat/runtime.d.ts +2 -2
  13. package/dist/src/gen/video/apis/ProductvideoApi.d.ts +17 -2
  14. package/dist/src/gen/video/models/index.d.ts +323 -39
  15. package/dist/src/gen/video/runtime.d.ts +1 -1
  16. package/package.json +1 -1
  17. package/src/StreamCall.ts +14 -2
  18. package/src/StreamChannel.ts +44 -49
  19. package/src/StreamChatClient.ts +23 -35
  20. package/src/StreamClient.ts +71 -232
  21. package/src/gen/chat/.openapi-generator/FILES +1 -19
  22. package/src/gen/chat/apis/ProductchatApi.ts +7007 -0
  23. package/src/gen/chat/apis/index.ts +1 -27
  24. package/src/gen/chat/models/index.ts +5758 -6564
  25. package/src/gen/chat/runtime.ts +3 -3
  26. package/src/gen/video/apis/ProductvideoApi.ts +64 -1
  27. package/src/gen/video/models/index.ts +328 -40
  28. package/src/gen/video/runtime.ts +1 -1
  29. package/dist/src/gen/chat/apis/ChannelTypesApi.d.ts +0 -81
  30. package/dist/src/gen/chat/apis/ChannelsApi.d.ts +0 -280
  31. package/dist/src/gen/chat/apis/CustomCommandsApi.d.ts +0 -81
  32. package/dist/src/gen/chat/apis/DefaultApi.d.ts +0 -60
  33. package/dist/src/gen/chat/apis/DevicesApi.d.ts +0 -58
  34. package/dist/src/gen/chat/apis/EventsApi.d.ts +0 -47
  35. package/dist/src/gen/chat/apis/FilesApi.d.ts +0 -85
  36. package/dist/src/gen/chat/apis/GDPRApi.d.ts +0 -114
  37. package/dist/src/gen/chat/apis/ImportsApi.d.ts +0 -67
  38. package/dist/src/gen/chat/apis/MessagesApi.d.ts +0 -374
  39. package/dist/src/gen/chat/apis/ModerationApi.d.ts +0 -271
  40. package/dist/src/gen/chat/apis/PermissionsV2Api.d.ts +0 -77
  41. package/dist/src/gen/chat/apis/PushApi.d.ts +0 -65
  42. package/dist/src/gen/chat/apis/ReactionsApi.d.ts +0 -62
  43. package/dist/src/gen/chat/apis/ServerSideApi.d.ts +0 -31
  44. package/dist/src/gen/chat/apis/SettingsApi.d.ts +0 -257
  45. package/dist/src/gen/chat/apis/TasksApi.d.ts +0 -31
  46. package/dist/src/gen/chat/apis/TestingApi.d.ts +0 -57
  47. package/dist/src/gen/chat/apis/UsersApi.d.ts +0 -313
  48. package/src/gen/chat/apis/ChannelTypesApi.ts +0 -275
  49. package/src/gen/chat/apis/ChannelsApi.ts +0 -1096
  50. package/src/gen/chat/apis/CustomCommandsApi.ts +0 -276
  51. package/src/gen/chat/apis/DefaultApi.ts +0 -196
  52. package/src/gen/chat/apis/DevicesApi.ts +0 -180
  53. package/src/gen/chat/apis/EventsApi.ts +0 -147
  54. package/src/gen/chat/apis/FilesApi.ts +0 -312
  55. package/src/gen/chat/apis/GDPRApi.ts +0 -418
  56. package/src/gen/chat/apis/ImportsApi.ts +0 -222
  57. package/src/gen/chat/apis/MessagesApi.ts +0 -1475
  58. package/src/gen/chat/apis/ModerationApi.ts +0 -1038
  59. package/src/gen/chat/apis/PermissionsV2Api.ts +0 -259
  60. package/src/gen/chat/apis/PushApi.ts +0 -183
  61. package/src/gen/chat/apis/ReactionsApi.ts +0 -202
  62. package/src/gen/chat/apis/ServerSideApi.ts +0 -79
  63. package/src/gen/chat/apis/SettingsApi.ts +0 -948
  64. package/src/gen/chat/apis/TasksApi.ts +0 -75
  65. package/src/gen/chat/apis/TestingApi.ts +0 -185
  66. package/src/gen/chat/apis/UsersApi.ts +0 -1203
@@ -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