stream-chat 9.50.3 → 10.0.0-rc.2

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 (242) hide show
  1. package/dist/cjs/index.browser.js +19798 -14472
  2. package/dist/cjs/index.browser.js.map +4 -4
  3. package/dist/cjs/index.node.js +19817 -14482
  4. package/dist/cjs/index.node.js.map +4 -4
  5. package/dist/esm/index.mjs +19795 -14469
  6. package/dist/esm/index.mjs.map +4 -4
  7. package/dist/types/ChannelManager.d.ts +221 -0
  8. package/dist/types/EventHandlerPipeline.d.ts +104 -0
  9. package/dist/types/api-client.d.ts +26 -0
  10. package/dist/types/campaign.d.ts +0 -44
  11. package/dist/types/channel.d.ts +454 -479
  12. package/dist/types/channel_batch_updater.d.ts +0 -93
  13. package/dist/types/channel_state.d.ts +53 -201
  14. package/dist/types/client.d.ts +451 -1920
  15. package/dist/types/client_state.d.ts +4 -4
  16. package/dist/types/configuration/InstanceConfigurationService.d.ts +26 -0
  17. package/dist/types/configuration/index.d.ts +1 -0
  18. package/dist/types/configuration/types.d.ts +53 -0
  19. package/dist/types/connection.d.ts +49 -41
  20. package/dist/types/connection_fallback.d.ts +6 -4
  21. package/dist/types/constants.d.ts +0 -4
  22. package/dist/types/custom_types.d.ts +2 -0
  23. package/dist/types/entityStore/EntityStore.d.ts +111 -0
  24. package/dist/types/entityStore/StoreBackedItemIndex.d.ts +60 -0
  25. package/dist/types/entityStore/applyReactionLocally.d.ts +26 -0
  26. package/dist/types/entityStore/index.d.ts +2 -0
  27. package/dist/types/errors.d.ts +10 -2
  28. package/dist/types/gen/chat/ChannelApi.d.ts +45 -0
  29. package/dist/types/gen/chat/ChatApi.d.ts +334 -0
  30. package/dist/types/gen/model-decoders/decoders.d.ts +3 -0
  31. package/dist/types/gen/model-decoders/event-decoder-mapping.d.ts +6 -0
  32. package/dist/types/gen/models/index.d.ts +8836 -0
  33. package/dist/types/gen/moderation/ModerationApi.d.ts +50 -0
  34. package/dist/types/gen-imports.d.ts +3 -0
  35. package/dist/types/index.d.ts +8 -7
  36. package/dist/types/insights.d.ts +9 -8
  37. package/dist/types/logger.d.ts +9 -0
  38. package/dist/types/messageComposer/LocationComposer.d.ts +7 -4
  39. package/dist/types/messageComposer/attachmentIdentity.d.ts +2 -2
  40. package/dist/types/messageComposer/attachmentManager.d.ts +8 -4
  41. package/dist/types/messageComposer/configuration/types.d.ts +11 -11
  42. package/dist/types/messageComposer/linkPreviewsManager.d.ts +25 -13
  43. package/dist/types/messageComposer/messageComposer.d.ts +10 -10
  44. package/dist/types/messageComposer/middleware/messageComposer/types.d.ts +3 -3
  45. package/dist/types/messageComposer/middleware/pollComposer/types.d.ts +4 -7
  46. package/dist/types/messageComposer/middleware/textComposer/commandUtils.d.ts +3 -3
  47. package/dist/types/messageComposer/middleware/textComposer/commands.d.ts +7 -7
  48. package/dist/types/messageComposer/middleware/textComposer/mentions.d.ts +218 -4
  49. package/dist/types/messageComposer/middleware/textComposer/types.d.ts +9 -4
  50. package/dist/types/messageComposer/pollComposer.d.ts +5 -4
  51. package/dist/types/messageComposer/textComposer.d.ts +8 -3
  52. package/dist/types/messageComposer/types.d.ts +6 -28
  53. package/dist/types/messageDelivery/MessageDeliveryReporter.d.ts +40 -25
  54. package/dist/types/messageDelivery/MessageReceiptsTracker.d.ts +53 -12
  55. package/dist/types/messageOperations/MessageOperationStatePolicy.d.ts +19 -0
  56. package/dist/types/messageOperations/MessageOperations.d.ts +17 -0
  57. package/dist/types/messageOperations/index.d.ts +3 -0
  58. package/dist/types/messageOperations/types.d.ts +49 -0
  59. package/dist/types/moderation.d.ts +21 -203
  60. package/dist/types/notifications/types.d.ts +8 -7
  61. package/dist/types/offline-support/offline_support_api.d.ts +111 -87
  62. package/dist/types/offline-support/offline_sync_manager.d.ts +0 -7
  63. package/dist/types/offline-support/types.d.ts +19 -23
  64. package/dist/types/offline-support/util.d.ts +4 -2
  65. package/dist/types/pagination/FilterBuilder.d.ts +1 -1
  66. package/dist/types/pagination/ItemIndex.d.ts +25 -0
  67. package/dist/types/pagination/cursorDerivation/createdAtAroundPaginationFlags.d.ts +9 -0
  68. package/dist/types/pagination/cursorDerivation/idAroundPaginationFlags.d.ts +6 -0
  69. package/dist/types/pagination/cursorDerivation/index.d.ts +1 -0
  70. package/dist/types/pagination/cursorDerivation/linearPaginationFlags.d.ts +6 -0
  71. package/dist/types/pagination/filterCompiler.d.ts +7 -0
  72. package/dist/types/pagination/index.d.ts +1 -3
  73. package/dist/types/pagination/paginators/BasePaginator.d.ts +848 -0
  74. package/dist/types/pagination/paginators/ChannelPaginator.d.ts +212 -0
  75. package/dist/types/pagination/paginators/MessageIntervalPaginator.d.ts +282 -0
  76. package/dist/types/pagination/paginators/MessagePaginator.d.ts +208 -0
  77. package/dist/types/pagination/paginators/PinnedMessagePaginator.d.ts +39 -0
  78. package/dist/types/pagination/paginators/ReminderPaginator.d.ts +19 -0
  79. package/dist/types/pagination/paginators/UserGroupPaginator.d.ts +24 -0
  80. package/dist/types/pagination/paginators/index.d.ts +7 -0
  81. package/dist/types/pagination/paginators/stateThrottling.d.ts +2 -0
  82. package/dist/types/pagination/sortCompiler.d.ts +49 -0
  83. package/dist/types/pagination/types.normalization.d.ts +11 -0
  84. package/dist/types/pagination/utility.normalization.d.ts +18 -0
  85. package/dist/types/pagination/utility.queryChannel.d.ts +26 -0
  86. package/dist/types/pagination/utility.search.d.ts +13 -0
  87. package/dist/types/permissions.d.ts +1 -1
  88. package/dist/types/poll.d.ts +29 -32
  89. package/dist/types/poll_manager.d.ts +2 -2
  90. package/dist/types/reminders/Reminder.d.ts +2 -5
  91. package/dist/types/reminders/ReminderManager.d.ts +2 -9
  92. package/dist/types/search/MessageSearchSource.d.ts +4 -4
  93. package/dist/types/search/UserSearchSource.d.ts +1 -1
  94. package/dist/types/search/types.d.ts +3 -3
  95. package/dist/types/segment.d.ts +0 -34
  96. package/dist/types/signing.d.ts +105 -65
  97. package/dist/types/store.d.ts +1 -0
  98. package/dist/types/thread.d.ts +70 -34
  99. package/dist/types/thread_manager.d.ts +3 -3
  100. package/dist/types/token_manager.d.ts +15 -10
  101. package/dist/types/types.d.ts +197 -3404
  102. package/dist/types/utils/FixedSizeQueueCache.d.ts +12 -6
  103. package/dist/types/utils/WithSubscriptions.d.ts +2 -1
  104. package/dist/types/utils/concurrency.d.ts +4 -4
  105. package/dist/types/utils/mergeWith/mergeWith.d.ts +3 -3
  106. package/dist/types/utils/mergeWith/mergeWithCore.d.ts +8 -3
  107. package/dist/types/utils/retryable.d.ts +34 -0
  108. package/dist/types/utils/throttling/throttle.d.ts +36 -0
  109. package/dist/types/utils.d.ts +100 -194
  110. package/package.json +7 -3
  111. package/src/ChannelManager.ts +724 -0
  112. package/src/CooldownTimer.ts +2 -2
  113. package/src/EventHandlerPipeline.ts +228 -0
  114. package/src/LiveLocationManager.ts +12 -11
  115. package/src/api-client.ts +275 -0
  116. package/src/campaign.ts +1 -77
  117. package/src/channel.ts +1344 -1282
  118. package/src/channel_batch_updater.ts +1 -211
  119. package/src/channel_state.ts +144 -1013
  120. package/src/client.ts +936 -3995
  121. package/src/client_state.ts +4 -4
  122. package/src/configuration/InstanceConfigurationService.ts +73 -0
  123. package/src/configuration/index.ts +1 -0
  124. package/src/configuration/types.ts +81 -0
  125. package/src/connection.ts +145 -94
  126. package/src/connection_fallback.ts +29 -27
  127. package/src/constants.ts +1 -5
  128. package/src/custom_types.ts +4 -1
  129. package/src/entityStore/EntityStore.ts +208 -0
  130. package/src/entityStore/StoreBackedItemIndex.ts +115 -0
  131. package/src/entityStore/applyReactionLocally.ts +113 -0
  132. package/src/entityStore/index.ts +2 -0
  133. package/src/errors.ts +14 -2
  134. package/src/gen/chat/ChannelApi.ts +275 -0
  135. package/src/gen/chat/ChatApi.ts +2554 -0
  136. package/src/gen/model-decoders/decoders.ts +2680 -0
  137. package/src/gen/model-decoders/event-decoder-mapping.ts +198 -0
  138. package/src/gen/models/index.ts +12673 -0
  139. package/src/gen/moderation/ModerationApi.ts +607 -0
  140. package/src/gen-imports.ts +3 -0
  141. package/src/index.ts +11 -12
  142. package/src/insights.ts +6 -5
  143. package/src/logger.ts +28 -0
  144. package/src/messageComposer/LocationComposer.ts +9 -5
  145. package/src/messageComposer/MessageComposerEffectHandlers.ts +1 -0
  146. package/src/messageComposer/attachmentIdentity.ts +16 -9
  147. package/src/messageComposer/attachmentManager.ts +13 -8
  148. package/src/messageComposer/configuration/types.ts +11 -11
  149. package/src/messageComposer/linkPreviewsManager.ts +9 -10
  150. package/src/messageComposer/messageComposer.ts +57 -53
  151. package/src/messageComposer/middleware/messageComposer/attachments.ts +1 -2
  152. package/src/messageComposer/middleware/messageComposer/cleanData.ts +1 -1
  153. package/src/messageComposer/middleware/messageComposer/compositionValidation.ts +2 -2
  154. package/src/messageComposer/middleware/messageComposer/messageComposerState.ts +2 -2
  155. package/src/messageComposer/middleware/messageComposer/sharedLocation.ts +4 -3
  156. package/src/messageComposer/middleware/messageComposer/textComposer.ts +2 -2
  157. package/src/messageComposer/middleware/messageComposer/types.ts +3 -4
  158. package/src/messageComposer/middleware/messageComposer/userDataInjection.ts +9 -5
  159. package/src/messageComposer/middleware/pollComposer/state.ts +0 -2
  160. package/src/messageComposer/middleware/pollComposer/types.ts +4 -7
  161. package/src/messageComposer/middleware/textComposer/TextComposerMiddlewareExecutor.ts +10 -1
  162. package/src/messageComposer/middleware/textComposer/commandEffects.ts +4 -4
  163. package/src/messageComposer/middleware/textComposer/commandUtils.ts +3 -6
  164. package/src/messageComposer/middleware/textComposer/commands.ts +3 -3
  165. package/src/messageComposer/middleware/textComposer/mentionUtils.ts +1 -1
  166. package/src/messageComposer/middleware/textComposer/mentions.ts +31 -15
  167. package/src/messageComposer/middleware/textComposer/types.ts +9 -4
  168. package/src/messageComposer/pollComposer.ts +6 -8
  169. package/src/messageComposer/textComposer.ts +27 -2
  170. package/src/messageComposer/types.ts +6 -28
  171. package/src/messageDelivery/MessageDeliveryReporter.ts +101 -45
  172. package/src/messageDelivery/MessageReceiptsTracker.ts +294 -21
  173. package/src/messageOperations/MessageOperationStatePolicy.ts +77 -0
  174. package/src/messageOperations/MessageOperations.ts +212 -0
  175. package/src/messageOperations/index.ts +10 -0
  176. package/src/messageOperations/types.ts +64 -0
  177. package/src/moderation.ts +38 -431
  178. package/src/notifications/types.ts +8 -7
  179. package/src/offline-support/offline_support_api.ts +200 -133
  180. package/src/offline-support/offline_sync_manager.ts +23 -44
  181. package/src/offline-support/types.ts +23 -26
  182. package/src/offline-support/util.ts +5 -4
  183. package/src/pagination/FilterBuilder.ts +4 -1
  184. package/src/pagination/ItemIndex.ts +25 -0
  185. package/src/pagination/cursorDerivation/createdAtAroundPaginationFlags.ts +73 -0
  186. package/src/pagination/cursorDerivation/idAroundPaginationFlags.ts +53 -0
  187. package/src/pagination/cursorDerivation/index.ts +1 -0
  188. package/src/pagination/cursorDerivation/linearPaginationFlags.ts +86 -0
  189. package/src/pagination/filterCompiler.ts +196 -0
  190. package/src/pagination/index.ts +1 -3
  191. package/src/pagination/paginators/BasePaginator.ts +2859 -0
  192. package/src/pagination/paginators/ChannelPaginator.ts +729 -0
  193. package/src/pagination/paginators/MessageIntervalPaginator.ts +1116 -0
  194. package/src/pagination/paginators/MessagePaginator.ts +508 -0
  195. package/src/pagination/paginators/PinnedMessagePaginator.ts +108 -0
  196. package/src/pagination/paginators/ReminderPaginator.ts +107 -0
  197. package/src/pagination/paginators/UserGroupPaginator.ts +127 -0
  198. package/src/pagination/paginators/index.ts +7 -0
  199. package/src/pagination/paginators/stateThrottling.ts +31 -0
  200. package/src/pagination/sortCompiler.ts +193 -0
  201. package/src/pagination/types.normalization.ts +14 -0
  202. package/src/pagination/utility.normalization.ts +106 -0
  203. package/src/pagination/utility.queryChannel.ts +84 -0
  204. package/src/pagination/utility.search.ts +80 -0
  205. package/src/permissions.ts +7 -8
  206. package/src/poll.ts +101 -110
  207. package/src/poll_manager.ts +14 -8
  208. package/src/reminders/Reminder.ts +2 -5
  209. package/src/reminders/ReminderManager.ts +19 -21
  210. package/src/search/BaseSearchSource.ts +0 -3
  211. package/src/search/ChannelMemberSearchSource.ts +7 -1
  212. package/src/search/ChannelSearchSource.ts +10 -3
  213. package/src/search/MessageSearchSource.ts +29 -30
  214. package/src/search/UserSearchSource.ts +12 -8
  215. package/src/search/types.ts +3 -4
  216. package/src/segment.ts +1 -95
  217. package/src/signing.ts +107 -67
  218. package/src/store.ts +2 -1
  219. package/src/thread.ts +562 -238
  220. package/src/thread_manager.ts +37 -16
  221. package/src/token_manager.ts +21 -10
  222. package/src/types.ts +364 -4533
  223. package/src/uploadManager.ts +8 -0
  224. package/src/utils/FixedSizeQueueCache.ts +12 -6
  225. package/src/utils/WithSubscriptions.ts +2 -1
  226. package/src/utils/concurrency.ts +4 -4
  227. package/src/utils/mergeWith/mergeWith.ts +3 -3
  228. package/src/utils/mergeWith/mergeWithCore.ts +140 -164
  229. package/src/utils/mergeWith/mergeWithDiff.ts +3 -3
  230. package/src/utils/retryable.ts +117 -0
  231. package/src/utils/throttling/throttle.ts +130 -0
  232. package/src/utils.ts +208 -754
  233. package/dist/types/channel_manager.d.ts +0 -122
  234. package/dist/types/events.d.ts +0 -72
  235. package/dist/types/pagination/BasePaginator.d.ts +0 -69
  236. package/dist/types/pagination/ReminderPaginator.d.ts +0 -16
  237. package/dist/types/pagination/UserGroupPaginator.d.ts +0 -21
  238. package/src/channel_manager.ts +0 -830
  239. package/src/events.ts +0 -75
  240. package/src/pagination/BasePaginator.ts +0 -184
  241. package/src/pagination/ReminderPaginator.ts +0 -56
  242. package/src/pagination/UserGroupPaginator.ts +0 -93
@@ -0,0 +1,275 @@
1
+ import type { ChatApi, StreamResponse } from '../../gen-imports';
2
+ import type {
3
+ ChannelGetOrCreateRequest,
4
+ ChannelStateResponse,
5
+ ChannelStopWatchingRequest,
6
+ CreateDraftRequest,
7
+ CreateDraftResponse,
8
+ DeleteChannelResponse,
9
+ EventResponse,
10
+ GetDraftResponse,
11
+ GetManyMessagesResponse,
12
+ HideChannelRequest,
13
+ HideChannelResponse,
14
+ MarkReadRequest,
15
+ MarkReadResponse,
16
+ MarkUnreadRequest,
17
+ Response,
18
+ SendEventRequest,
19
+ SendMessageRequest,
20
+ SendMessageResponse,
21
+ ShowChannelRequest,
22
+ ShowChannelResponse,
23
+ TruncateChannelRequest,
24
+ TruncateChannelResponse,
25
+ UpdateChannelPartialRequest,
26
+ UpdateChannelPartialResponse,
27
+ UpdateChannelRequest,
28
+ UpdateChannelResponse,
29
+ UpdateMemberPartialRequest,
30
+ UpdateMemberPartialResponse,
31
+ UploadChannelFileRequest,
32
+ UploadChannelFileResponse,
33
+ UploadChannelRequest,
34
+ UploadChannelResponse,
35
+ } from '../models';
36
+
37
+ export class ChannelApi {
38
+ constructor(
39
+ protected chatApi: ChatApi,
40
+ public readonly type: string,
41
+ public id: string | undefined,
42
+ ) {}
43
+
44
+ delete(request?: {
45
+ hard_delete?: boolean;
46
+ }): Promise<StreamResponse<DeleteChannelResponse>> {
47
+ if (!this.id) {
48
+ throw new Error(
49
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
50
+ );
51
+ }
52
+
53
+ return this.chatApi.deleteChannel({ id: this.id, type: this.type, ...request });
54
+ }
55
+
56
+ updateChannelPartial(
57
+ request?: UpdateChannelPartialRequest,
58
+ ): Promise<StreamResponse<UpdateChannelPartialResponse>> {
59
+ if (!this.id) {
60
+ throw new Error(
61
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
62
+ );
63
+ }
64
+
65
+ return this.chatApi.updateChannelPartial({
66
+ id: this.id,
67
+ type: this.type,
68
+ ...request,
69
+ });
70
+ }
71
+
72
+ update(request?: UpdateChannelRequest): Promise<StreamResponse<UpdateChannelResponse>> {
73
+ if (!this.id) {
74
+ throw new Error(
75
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
76
+ );
77
+ }
78
+
79
+ return this.chatApi.updateChannel({ id: this.id, type: this.type, ...request });
80
+ }
81
+
82
+ deleteDraft(request?: { parent_id?: string }): Promise<StreamResponse<Response>> {
83
+ if (!this.id) {
84
+ throw new Error(
85
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
86
+ );
87
+ }
88
+
89
+ return this.chatApi.deleteDraft({ id: this.id, type: this.type, ...request });
90
+ }
91
+
92
+ getDraft(request?: { parent_id?: string }): Promise<StreamResponse<GetDraftResponse>> {
93
+ if (!this.id) {
94
+ throw new Error(
95
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
96
+ );
97
+ }
98
+
99
+ return this.chatApi.getDraft({ id: this.id, type: this.type, ...request });
100
+ }
101
+
102
+ createDraft(request: CreateDraftRequest): Promise<StreamResponse<CreateDraftResponse>> {
103
+ if (!this.id) {
104
+ throw new Error(
105
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
106
+ );
107
+ }
108
+
109
+ return this.chatApi.createDraft({ id: this.id, type: this.type, ...request });
110
+ }
111
+
112
+ sendEvent(request: SendEventRequest): Promise<StreamResponse<EventResponse>> {
113
+ if (!this.id) {
114
+ throw new Error(
115
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
116
+ );
117
+ }
118
+
119
+ return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request });
120
+ }
121
+
122
+ deleteChannelFile(request?: { url?: string }): Promise<StreamResponse<Response>> {
123
+ if (!this.id) {
124
+ throw new Error(
125
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
126
+ );
127
+ }
128
+
129
+ return this.chatApi.deleteChannelFile({ id: this.id, type: this.type, ...request });
130
+ }
131
+
132
+ uploadChannelFile(
133
+ request?: UploadChannelFileRequest,
134
+ ): Promise<StreamResponse<UploadChannelFileResponse>> {
135
+ if (!this.id) {
136
+ throw new Error(
137
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
138
+ );
139
+ }
140
+
141
+ return this.chatApi.uploadChannelFile({ id: this.id, type: this.type, ...request });
142
+ }
143
+
144
+ hide(request?: HideChannelRequest): Promise<StreamResponse<HideChannelResponse>> {
145
+ if (!this.id) {
146
+ throw new Error(
147
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
148
+ );
149
+ }
150
+
151
+ return this.chatApi.hideChannel({ id: this.id, type: this.type, ...request });
152
+ }
153
+
154
+ deleteChannelImage(request?: { url?: string }): Promise<StreamResponse<Response>> {
155
+ if (!this.id) {
156
+ throw new Error(
157
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
158
+ );
159
+ }
160
+
161
+ return this.chatApi.deleteChannelImage({ id: this.id, type: this.type, ...request });
162
+ }
163
+
164
+ uploadChannelImage(
165
+ request?: UploadChannelRequest,
166
+ ): Promise<StreamResponse<UploadChannelResponse>> {
167
+ if (!this.id) {
168
+ throw new Error(
169
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
170
+ );
171
+ }
172
+
173
+ return this.chatApi.uploadChannelImage({ id: this.id, type: this.type, ...request });
174
+ }
175
+
176
+ updateMemberPartial(
177
+ request?: UpdateMemberPartialRequest,
178
+ ): Promise<StreamResponse<UpdateMemberPartialResponse>> {
179
+ if (!this.id) {
180
+ throw new Error(
181
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
182
+ );
183
+ }
184
+
185
+ return this.chatApi.updateMemberPartial({ id: this.id, type: this.type, ...request });
186
+ }
187
+
188
+ sendMessage(request: SendMessageRequest): Promise<StreamResponse<SendMessageResponse>> {
189
+ if (!this.id) {
190
+ throw new Error(
191
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
192
+ );
193
+ }
194
+
195
+ return this.chatApi.sendMessage({ id: this.id, type: this.type, ...request });
196
+ }
197
+
198
+ getManyMessages(request: {
199
+ ids: Array<string>;
200
+ }): Promise<StreamResponse<GetManyMessagesResponse>> {
201
+ if (!this.id) {
202
+ throw new Error(
203
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
204
+ );
205
+ }
206
+
207
+ return this.chatApi.getManyMessages({ id: this.id, type: this.type, ...request });
208
+ }
209
+
210
+ getOrCreate(
211
+ request?: ChannelGetOrCreateRequest & { connection_id?: string },
212
+ ): Promise<StreamResponse<ChannelStateResponse>> {
213
+ if (!this.id) {
214
+ throw new Error(
215
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
216
+ );
217
+ }
218
+
219
+ return this.chatApi.getOrCreateChannel({ id: this.id, type: this.type, ...request });
220
+ }
221
+
222
+ markRead(request?: MarkReadRequest): Promise<StreamResponse<MarkReadResponse>> {
223
+ if (!this.id) {
224
+ throw new Error(
225
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
226
+ );
227
+ }
228
+
229
+ return this.chatApi.markRead({ id: this.id, type: this.type, ...request });
230
+ }
231
+
232
+ show(request?: ShowChannelRequest): Promise<StreamResponse<ShowChannelResponse>> {
233
+ if (!this.id) {
234
+ throw new Error(
235
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
236
+ );
237
+ }
238
+
239
+ return this.chatApi.showChannel({ id: this.id, type: this.type, ...request });
240
+ }
241
+
242
+ stopWatching(
243
+ request?: ChannelStopWatchingRequest & { connection_id?: string },
244
+ ): Promise<StreamResponse<Response>> {
245
+ if (!this.id) {
246
+ throw new Error(
247
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
248
+ );
249
+ }
250
+
251
+ return this.chatApi.stopWatchingChannel({ id: this.id, type: this.type, ...request });
252
+ }
253
+
254
+ truncate(
255
+ request?: TruncateChannelRequest,
256
+ ): Promise<StreamResponse<TruncateChannelResponse>> {
257
+ if (!this.id) {
258
+ throw new Error(
259
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
260
+ );
261
+ }
262
+
263
+ return this.chatApi.truncateChannel({ id: this.id, type: this.type, ...request });
264
+ }
265
+
266
+ markUnread(request?: MarkUnreadRequest): Promise<StreamResponse<Response>> {
267
+ if (!this.id) {
268
+ throw new Error(
269
+ `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,
270
+ );
271
+ }
272
+
273
+ return this.chatApi.markUnread({ id: this.id, type: this.type, ...request });
274
+ }
275
+ }