@stream-io/node-sdk 0.1.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 (101) hide show
  1. package/.readme-assets/Github-Graphic-JS.jpg +0 -0
  2. package/LICENSE +219 -0
  3. package/README.md +29 -0
  4. package/dist/__tests__/block-lists.test.d.ts +1 -0
  5. package/dist/__tests__/call-members.test.d.ts +1 -0
  6. package/dist/__tests__/call-types.test.d.ts +1 -0
  7. package/dist/__tests__/call.test.d.ts +1 -0
  8. package/dist/__tests__/channel-types.test.d.ts +1 -0
  9. package/dist/__tests__/channel.test.d.ts +1 -0
  10. package/dist/__tests__/command.test.d.ts +1 -0
  11. package/dist/__tests__/create-token.test.d.ts +1 -0
  12. package/dist/__tests__/devices-push.test.d.ts +1 -0
  13. package/dist/__tests__/messages.test.d.ts +1 -0
  14. package/dist/__tests__/permissions-app-settings.test.d.ts +1 -0
  15. package/dist/__tests__/user-compat.test.d.ts +1 -0
  16. package/dist/__tests__/users.test.d.ts +1 -0
  17. package/dist/index.cjs.js +8789 -0
  18. package/dist/index.cjs.js.map +1 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.es.js +8708 -0
  21. package/dist/index.es.js.map +1 -0
  22. package/dist/src/StreamCall.d.ts +37 -0
  23. package/dist/src/StreamChannel.d.ts +39 -0
  24. package/dist/src/StreamChatClient.d.ts +31 -0
  25. package/dist/src/StreamClient.d.ts +68 -0
  26. package/dist/src/StreamVideoClient.d.ts +16 -0
  27. package/dist/src/gen/chat/apis/ChannelTypesApi.d.ts +81 -0
  28. package/dist/src/gen/chat/apis/ChannelsApi.d.ts +308 -0
  29. package/dist/src/gen/chat/apis/CustomCommandsApi.d.ts +81 -0
  30. package/dist/src/gen/chat/apis/DefaultApi.d.ts +60 -0
  31. package/dist/src/gen/chat/apis/DevicesApi.d.ts +58 -0
  32. package/dist/src/gen/chat/apis/EventsApi.d.ts +64 -0
  33. package/dist/src/gen/chat/apis/FilesApi.d.ts +81 -0
  34. package/dist/src/gen/chat/apis/GDPRApi.d.ts +114 -0
  35. package/dist/src/gen/chat/apis/ImportsApi.d.ts +67 -0
  36. package/dist/src/gen/chat/apis/MessagesApi.d.ts +370 -0
  37. package/dist/src/gen/chat/apis/ModerationApi.d.ts +271 -0
  38. package/dist/src/gen/chat/apis/PermissionsV2Api.d.ts +77 -0
  39. package/dist/src/gen/chat/apis/PushApi.d.ts +65 -0
  40. package/dist/src/gen/chat/apis/ReactionsApi.d.ts +62 -0
  41. package/dist/src/gen/chat/apis/ServerSideApi.d.ts +31 -0
  42. package/dist/src/gen/chat/apis/SettingsApi.d.ts +257 -0
  43. package/dist/src/gen/chat/apis/TasksApi.d.ts +31 -0
  44. package/dist/src/gen/chat/apis/TestingApi.d.ts +57 -0
  45. package/dist/src/gen/chat/apis/UsersApi.d.ts +313 -0
  46. package/dist/src/gen/chat/apis/index.d.ts +19 -0
  47. package/dist/src/gen/chat/index.d.ts +3 -0
  48. package/dist/src/gen/chat/models/index.d.ts +15624 -0
  49. package/dist/src/gen/chat/runtime.d.ts +180 -0
  50. package/dist/src/gen/video/apis/DefaultApi.d.ts +505 -0
  51. package/dist/src/gen/video/apis/ServerSideApi.d.ts +81 -0
  52. package/dist/src/gen/video/apis/index.d.ts +2 -0
  53. package/dist/src/gen/video/index.d.ts +3 -0
  54. package/dist/src/gen/video/models/index.d.ts +4733 -0
  55. package/dist/src/gen/video/runtime.d.ts +180 -0
  56. package/dist/src/types.d.ts +1 -0
  57. package/dist/src/utils/create-token.d.ts +3 -0
  58. package/index.ts +7 -0
  59. package/package.json +47 -0
  60. package/src/StreamCall.ts +161 -0
  61. package/src/StreamChannel.ts +165 -0
  62. package/src/StreamChatClient.ts +102 -0
  63. package/src/StreamClient.ts +440 -0
  64. package/src/StreamVideoClient.ts +63 -0
  65. package/src/gen/chat/.openapi-generator/FILES +24 -0
  66. package/src/gen/chat/.openapi-generator/VERSION +1 -0
  67. package/src/gen/chat/.openapi-generator-ignore +23 -0
  68. package/src/gen/chat/apis/ChannelTypesApi.ts +275 -0
  69. package/src/gen/chat/apis/ChannelsApi.ts +1221 -0
  70. package/src/gen/chat/apis/CustomCommandsApi.ts +276 -0
  71. package/src/gen/chat/apis/DefaultApi.ts +196 -0
  72. package/src/gen/chat/apis/DevicesApi.ts +180 -0
  73. package/src/gen/chat/apis/EventsApi.ts +220 -0
  74. package/src/gen/chat/apis/FilesApi.ts +312 -0
  75. package/src/gen/chat/apis/GDPRApi.ts +418 -0
  76. package/src/gen/chat/apis/ImportsApi.ts +222 -0
  77. package/src/gen/chat/apis/MessagesApi.ts +1475 -0
  78. package/src/gen/chat/apis/ModerationApi.ts +1038 -0
  79. package/src/gen/chat/apis/PermissionsV2Api.ts +259 -0
  80. package/src/gen/chat/apis/PushApi.ts +183 -0
  81. package/src/gen/chat/apis/ReactionsApi.ts +202 -0
  82. package/src/gen/chat/apis/ServerSideApi.ts +79 -0
  83. package/src/gen/chat/apis/SettingsApi.ts +948 -0
  84. package/src/gen/chat/apis/TasksApi.ts +75 -0
  85. package/src/gen/chat/apis/TestingApi.ts +185 -0
  86. package/src/gen/chat/apis/UsersApi.ts +1203 -0
  87. package/src/gen/chat/apis/index.ts +30 -0
  88. package/src/gen/chat/index.ts +5 -0
  89. package/src/gen/chat/models/index.ts +15541 -0
  90. package/src/gen/chat/runtime.ts +415 -0
  91. package/src/gen/video/.openapi-generator/FILES +7 -0
  92. package/src/gen/video/.openapi-generator/VERSION +1 -0
  93. package/src/gen/video/.openapi-generator-ignore +23 -0
  94. package/src/gen/video/apis/DefaultApi.ts +1997 -0
  95. package/src/gen/video/apis/ServerSideApi.ts +276 -0
  96. package/src/gen/video/apis/index.ts +4 -0
  97. package/src/gen/video/index.ts +5 -0
  98. package/src/gen/video/models/index.ts +4642 -0
  99. package/src/gen/video/runtime.ts +415 -0
  100. package/src/types.ts +1 -0
  101. package/src/utils/create-token.ts +49 -0
@@ -0,0 +1,220 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Stream Chat API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v89.9.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ APIError,
19
+ EventResponse,
20
+ Response,
21
+ SendEventRequest,
22
+ SendUserCustomEventRequest,
23
+ SyncRequest,
24
+ SyncResponse,
25
+ } from '../models';
26
+
27
+ export interface SendEventOperationRequest {
28
+ type: string;
29
+ id: string;
30
+ sendEventRequest: SendEventRequest | null;
31
+ }
32
+
33
+ export interface SendUserCustomEventOperationRequest {
34
+ userId: string;
35
+ sendUserCustomEventRequest: SendUserCustomEventRequest | null;
36
+ }
37
+
38
+ export interface SyncOperationRequest {
39
+ syncRequest: SyncRequest | null;
40
+ withInaccessibleCids?: boolean;
41
+ watch?: boolean;
42
+ clientId?: string;
43
+ connectionId?: string;
44
+ }
45
+
46
+ /**
47
+ *
48
+ */
49
+ export class EventsApi extends runtime.BaseAPI {
50
+
51
+ /**
52
+ * Sends event to the channel Sends events: - any Required permissions: - SendCustomEvent
53
+ * Send event
54
+ */
55
+ async sendEventRaw(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventResponse>> {
56
+ if (requestParameters.type === null || requestParameters.type === undefined) {
57
+ throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendEvent.');
58
+ }
59
+
60
+ if (requestParameters.id === null || requestParameters.id === undefined) {
61
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendEvent.');
62
+ }
63
+
64
+ if (requestParameters.sendEventRequest === null || requestParameters.sendEventRequest === undefined) {
65
+ throw new runtime.RequiredError('sendEventRequest','Required parameter requestParameters.sendEventRequest was null or undefined when calling sendEvent.');
66
+ }
67
+
68
+ const queryParameters: any = {};
69
+
70
+ const headerParameters: runtime.HTTPHeaders = {};
71
+
72
+ headerParameters['Content-Type'] = 'application/json';
73
+
74
+ if (this.configuration && this.configuration.apiKey) {
75
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
76
+ }
77
+
78
+ if (this.configuration && this.configuration.apiKey) {
79
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
80
+ }
81
+
82
+ if (this.configuration && this.configuration.apiKey) {
83
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
84
+ }
85
+
86
+ const response = await this.request({
87
+ path: `/channels/{type}/{id}/event`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
88
+ method: 'POST',
89
+ headers: headerParameters,
90
+ query: queryParameters,
91
+ body: requestParameters.sendEventRequest,
92
+ }, initOverrides);
93
+
94
+ return new runtime.JSONApiResponse(response);
95
+ }
96
+
97
+ /**
98
+ * Sends event to the channel Sends events: - any Required permissions: - SendCustomEvent
99
+ * Send event
100
+ */
101
+ async sendEvent(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventResponse> {
102
+ const response = await this.sendEventRaw(requestParameters, initOverrides);
103
+ return await response.value();
104
+ }
105
+
106
+ /**
107
+ * Sends a custom event to a user Sends events: - custom
108
+ * Send user event
109
+ */
110
+ async sendUserCustomEventRaw(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {
111
+ if (requestParameters.userId === null || requestParameters.userId === undefined) {
112
+ throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling sendUserCustomEvent.');
113
+ }
114
+
115
+ if (requestParameters.sendUserCustomEventRequest === null || requestParameters.sendUserCustomEventRequest === undefined) {
116
+ throw new runtime.RequiredError('sendUserCustomEventRequest','Required parameter requestParameters.sendUserCustomEventRequest was null or undefined when calling sendUserCustomEvent.');
117
+ }
118
+
119
+ const queryParameters: any = {};
120
+
121
+ const headerParameters: runtime.HTTPHeaders = {};
122
+
123
+ headerParameters['Content-Type'] = 'application/json';
124
+
125
+ if (this.configuration && this.configuration.apiKey) {
126
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
127
+ }
128
+
129
+ if (this.configuration && this.configuration.apiKey) {
130
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
131
+ }
132
+
133
+ if (this.configuration && this.configuration.apiKey) {
134
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
135
+ }
136
+
137
+ const response = await this.request({
138
+ path: `/users/{user_id}/event`.replace(`{${"user_id"}}`, encodeURIComponent(String(requestParameters.userId))),
139
+ method: 'POST',
140
+ headers: headerParameters,
141
+ query: queryParameters,
142
+ body: requestParameters.sendUserCustomEventRequest,
143
+ }, initOverrides);
144
+
145
+ return new runtime.JSONApiResponse(response);
146
+ }
147
+
148
+ /**
149
+ * Sends a custom event to a user Sends events: - custom
150
+ * Send user event
151
+ */
152
+ async sendUserCustomEvent(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {
153
+ const response = await this.sendUserCustomEventRaw(requestParameters, initOverrides);
154
+ return await response.value();
155
+ }
156
+
157
+ /**
158
+ * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel
159
+ * Sync
160
+ */
161
+ async syncRaw(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SyncResponse>> {
162
+ if (requestParameters.syncRequest === null || requestParameters.syncRequest === undefined) {
163
+ throw new runtime.RequiredError('syncRequest','Required parameter requestParameters.syncRequest was null or undefined when calling sync.');
164
+ }
165
+
166
+ const queryParameters: any = {};
167
+
168
+ if (requestParameters.withInaccessibleCids !== undefined) {
169
+ queryParameters['with_inaccessible_cids'] = requestParameters.withInaccessibleCids;
170
+ }
171
+
172
+ if (requestParameters.watch !== undefined) {
173
+ queryParameters['watch'] = requestParameters.watch;
174
+ }
175
+
176
+ if (requestParameters.clientId !== undefined) {
177
+ queryParameters['client_id'] = requestParameters.clientId;
178
+ }
179
+
180
+ if (requestParameters.connectionId !== undefined) {
181
+ queryParameters['connection_id'] = requestParameters.connectionId;
182
+ }
183
+
184
+ const headerParameters: runtime.HTTPHeaders = {};
185
+
186
+ headerParameters['Content-Type'] = 'application/json';
187
+
188
+ if (this.configuration && this.configuration.apiKey) {
189
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
190
+ }
191
+
192
+ if (this.configuration && this.configuration.apiKey) {
193
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
194
+ }
195
+
196
+ if (this.configuration && this.configuration.apiKey) {
197
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
198
+ }
199
+
200
+ const response = await this.request({
201
+ path: `/sync`,
202
+ method: 'POST',
203
+ headers: headerParameters,
204
+ query: queryParameters,
205
+ body: requestParameters.syncRequest,
206
+ }, initOverrides);
207
+
208
+ return new runtime.JSONApiResponse(response);
209
+ }
210
+
211
+ /**
212
+ * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel
213
+ * Sync
214
+ */
215
+ async sync(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SyncResponse> {
216
+ const response = await this.syncRaw(requestParameters, initOverrides);
217
+ return await response.value();
218
+ }
219
+
220
+ }
@@ -0,0 +1,312 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Stream Chat API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v89.9.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ APIError,
19
+ FileDeleteResponse,
20
+ FileUploadResponse,
21
+ // @ts-expect-error
22
+ ImageSizeRequest,
23
+ ImageUploadResponse,
24
+ // @ts-expect-error
25
+ OnlyUserIDRequest,
26
+ } from '../models';
27
+
28
+ export interface DeleteFileRequest {
29
+ type: string;
30
+ id: string;
31
+ url?: string;
32
+ }
33
+
34
+ export interface DeleteImageRequest {
35
+ type: string;
36
+ id: string;
37
+ url?: string;
38
+ }
39
+
40
+ export interface UploadFileRequest {
41
+ type: string;
42
+ id: string;
43
+ file?: string;
44
+ user?: OnlyUserIDRequest;
45
+ }
46
+
47
+ export interface UploadImageRequest {
48
+ type: string;
49
+ id: string;
50
+ file?: string;
51
+ uploadSizes?: Array<ImageSizeRequest>;
52
+ user?: OnlyUserIDRequest;
53
+ }
54
+
55
+ /**
56
+ *
57
+ */
58
+ export class FilesApi extends runtime.BaseAPI {
59
+
60
+ /**
61
+ * Deletes previously uploaded file Required permissions: - DeleteAttachment
62
+ * Delete file
63
+ */
64
+ async deleteFileRaw(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {
65
+ if (requestParameters.type === null || requestParameters.type === undefined) {
66
+ throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteFile.');
67
+ }
68
+
69
+ if (requestParameters.id === null || requestParameters.id === undefined) {
70
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteFile.');
71
+ }
72
+
73
+ const queryParameters: any = {};
74
+
75
+ if (requestParameters.url !== undefined) {
76
+ queryParameters['url'] = requestParameters.url;
77
+ }
78
+
79
+ const headerParameters: runtime.HTTPHeaders = {};
80
+
81
+ if (this.configuration && this.configuration.apiKey) {
82
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
83
+ }
84
+
85
+ if (this.configuration && this.configuration.apiKey) {
86
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
87
+ }
88
+
89
+ if (this.configuration && this.configuration.apiKey) {
90
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
91
+ }
92
+
93
+ const response = await this.request({
94
+ path: `/channels/{type}/{id}/file`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
95
+ method: 'DELETE',
96
+ headers: headerParameters,
97
+ query: queryParameters,
98
+ }, initOverrides);
99
+
100
+ return new runtime.JSONApiResponse(response);
101
+ }
102
+
103
+ /**
104
+ * Deletes previously uploaded file Required permissions: - DeleteAttachment
105
+ * Delete file
106
+ */
107
+ async deleteFile(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {
108
+ const response = await this.deleteFileRaw(requestParameters, initOverrides);
109
+ return await response.value();
110
+ }
111
+
112
+ /**
113
+ * Deletes previously uploaded image Required permissions: - DeleteAttachment
114
+ * Delete image
115
+ */
116
+ async deleteImageRaw(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {
117
+ if (requestParameters.type === null || requestParameters.type === undefined) {
118
+ throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteImage.');
119
+ }
120
+
121
+ if (requestParameters.id === null || requestParameters.id === undefined) {
122
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteImage.');
123
+ }
124
+
125
+ const queryParameters: any = {};
126
+
127
+ if (requestParameters.url !== undefined) {
128
+ queryParameters['url'] = requestParameters.url;
129
+ }
130
+
131
+ const headerParameters: runtime.HTTPHeaders = {};
132
+
133
+ if (this.configuration && this.configuration.apiKey) {
134
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
135
+ }
136
+
137
+ if (this.configuration && this.configuration.apiKey) {
138
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
139
+ }
140
+
141
+ if (this.configuration && this.configuration.apiKey) {
142
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
143
+ }
144
+
145
+ const response = await this.request({
146
+ path: `/channels/{type}/{id}/image`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
147
+ method: 'DELETE',
148
+ headers: headerParameters,
149
+ query: queryParameters,
150
+ }, initOverrides);
151
+
152
+ return new runtime.JSONApiResponse(response);
153
+ }
154
+
155
+ /**
156
+ * Deletes previously uploaded image Required permissions: - DeleteAttachment
157
+ * Delete image
158
+ */
159
+ async deleteImage(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {
160
+ const response = await this.deleteImageRaw(requestParameters, initOverrides);
161
+ return await response.value();
162
+ }
163
+
164
+ /**
165
+ * Uploads file Required permissions: - UploadAttachment
166
+ * Upload file
167
+ */
168
+ async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileUploadResponse>> {
169
+ if (requestParameters.type === null || requestParameters.type === undefined) {
170
+ throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadFile.');
171
+ }
172
+
173
+ if (requestParameters.id === null || requestParameters.id === undefined) {
174
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadFile.');
175
+ }
176
+
177
+ const queryParameters: any = {};
178
+
179
+ const headerParameters: runtime.HTTPHeaders = {};
180
+
181
+ if (this.configuration && this.configuration.apiKey) {
182
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
183
+ }
184
+
185
+ if (this.configuration && this.configuration.apiKey) {
186
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
187
+ }
188
+
189
+ if (this.configuration && this.configuration.apiKey) {
190
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
191
+ }
192
+
193
+ const consumes: runtime.Consume[] = [
194
+ { contentType: 'multipart/form-data' },
195
+ ];
196
+ // @ts-ignore: canConsumeForm may be unused
197
+ const canConsumeForm = runtime.canConsumeForm(consumes);
198
+
199
+ let formParams: { append(param: string, value: any): any };
200
+ let useForm = false;
201
+ if (useForm) {
202
+ formParams = new FormData();
203
+ } else {
204
+ formParams = new URLSearchParams();
205
+ }
206
+
207
+ if (requestParameters.file !== undefined) {
208
+ formParams.append('file', requestParameters.file as any);
209
+ }
210
+
211
+ if (requestParameters.user !== undefined) {
212
+
213
+ formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: "application/json", }));
214
+ }
215
+
216
+ const response = await this.request({
217
+ path: `/channels/{type}/{id}/file`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
218
+ method: 'POST',
219
+ headers: headerParameters,
220
+ query: queryParameters,
221
+ body: formParams,
222
+ }, initOverrides);
223
+
224
+ return new runtime.JSONApiResponse(response);
225
+ }
226
+
227
+ /**
228
+ * Uploads file Required permissions: - UploadAttachment
229
+ * Upload file
230
+ */
231
+ async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileUploadResponse> {
232
+ const response = await this.uploadFileRaw(requestParameters, initOverrides);
233
+ return await response.value();
234
+ }
235
+
236
+ /**
237
+ * Uploads image Required permissions: - UploadAttachment
238
+ * Upload image
239
+ */
240
+ async uploadImageRaw(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ImageUploadResponse>> {
241
+ if (requestParameters.type === null || requestParameters.type === undefined) {
242
+ throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadImage.');
243
+ }
244
+
245
+ if (requestParameters.id === null || requestParameters.id === undefined) {
246
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadImage.');
247
+ }
248
+
249
+ const queryParameters: any = {};
250
+
251
+ const headerParameters: runtime.HTTPHeaders = {};
252
+
253
+ if (this.configuration && this.configuration.apiKey) {
254
+ headerParameters["Stream-Auth-Type"] = this.configuration.apiKey("Stream-Auth-Type"); // stream-auth-type authentication
255
+ }
256
+
257
+ if (this.configuration && this.configuration.apiKey) {
258
+ queryParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
259
+ }
260
+
261
+ if (this.configuration && this.configuration.apiKey) {
262
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // JWT authentication
263
+ }
264
+
265
+ const consumes: runtime.Consume[] = [
266
+ { contentType: 'multipart/form-data' },
267
+ ];
268
+ // @ts-ignore: canConsumeForm may be unused
269
+ const canConsumeForm = runtime.canConsumeForm(consumes);
270
+
271
+ let formParams: { append(param: string, value: any): any };
272
+ let useForm = false;
273
+ if (useForm) {
274
+ formParams = new FormData();
275
+ } else {
276
+ formParams = new URLSearchParams();
277
+ }
278
+
279
+ if (requestParameters.file !== undefined) {
280
+ formParams.append('file', requestParameters.file as any);
281
+ }
282
+
283
+ if (requestParameters.uploadSizes) {
284
+ formParams.append('upload_sizes', requestParameters.uploadSizes.join(runtime.COLLECTION_FORMATS["csv"]));
285
+ }
286
+
287
+ if (requestParameters.user !== undefined) {
288
+
289
+ formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: "application/json", }));
290
+ }
291
+
292
+ const response = await this.request({
293
+ path: `/channels/{type}/{id}/image`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
294
+ method: 'POST',
295
+ headers: headerParameters,
296
+ query: queryParameters,
297
+ body: formParams,
298
+ }, initOverrides);
299
+
300
+ return new runtime.JSONApiResponse(response);
301
+ }
302
+
303
+ /**
304
+ * Uploads image Required permissions: - UploadAttachment
305
+ * Upload image
306
+ */
307
+ async uploadImage(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ImageUploadResponse> {
308
+ const response = await this.uploadImageRaw(requestParameters, initOverrides);
309
+ return await response.value();
310
+ }
311
+
312
+ }