@sendbird/sendbird-platform-sdk-typescript 2.0.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 (658) hide show
  1. package/.env.test +2 -0
  2. package/.openapi-generator/FILES +158 -0
  3. package/.openapi-generator/VERSION +1 -0
  4. package/.openapi-generator-ignore +23 -0
  5. package/AnnouncementApi.md +100 -0
  6. package/BotApi.md +401 -0
  7. package/CHANGELOG +83 -0
  8. package/GroupChannelApi.md +1429 -0
  9. package/MessageApi.md +826 -0
  10. package/MetadataApi.md +274 -0
  11. package/ModerationApi.md +338 -0
  12. package/OpenChannelApi.md +540 -0
  13. package/PinAMessageApi.md +73 -0
  14. package/PollApi.md +787 -0
  15. package/PrivacyApi.md +251 -0
  16. package/PushNotificationsApi.md +124 -0
  17. package/README.md +104 -0
  18. package/ReportApi.md +554 -0
  19. package/ScheduledMessageApi.md +524 -0
  20. package/StatisticsApi.md +125 -0
  21. package/UserApi.md +1868 -0
  22. package/WebhookApi.md +132 -0
  23. package/apis/AnnouncementApi.ts +96 -0
  24. package/apis/BotApi.ts +471 -0
  25. package/apis/GroupChannelApi.ts +1865 -0
  26. package/apis/MessageApi.ts +1150 -0
  27. package/apis/MetadataApi.ts +365 -0
  28. package/apis/ModerationApi.ts +449 -0
  29. package/apis/OpenChannelApi.ts +676 -0
  30. package/apis/StatisticsApi.ts +155 -0
  31. package/apis/UserApi.ts +2454 -0
  32. package/apis/baseapi.ts +37 -0
  33. package/apis/exception.ts +15 -0
  34. package/auth/auth.ts +54 -0
  35. package/catalog-info.yaml +12 -0
  36. package/configuration.ts +66 -0
  37. package/dist/apis/AnnouncementApi.d.ts +11 -0
  38. package/dist/apis/AnnouncementApi.js +54 -0
  39. package/dist/apis/AnnouncementApi.js.map +1 -0
  40. package/dist/apis/BotApi.d.ts +26 -0
  41. package/dist/apis/BotApi.js +237 -0
  42. package/dist/apis/BotApi.js.map +1 -0
  43. package/dist/apis/GroupChannelApi.d.ts +63 -0
  44. package/dist/apis/GroupChannelApi.js +897 -0
  45. package/dist/apis/GroupChannelApi.js.map +1 -0
  46. package/dist/apis/MessageApi.d.ts +40 -0
  47. package/dist/apis/MessageApi.js +562 -0
  48. package/dist/apis/MessageApi.js.map +1 -0
  49. package/dist/apis/MetadataApi.d.ts +18 -0
  50. package/dist/apis/MetadataApi.js +186 -0
  51. package/dist/apis/MetadataApi.js.map +1 -0
  52. package/dist/apis/ModerationApi.d.ts +24 -0
  53. package/dist/apis/ModerationApi.js +224 -0
  54. package/dist/apis/ModerationApi.js.map +1 -0
  55. package/dist/apis/OpenChannelApi.d.ts +29 -0
  56. package/dist/apis/OpenChannelApi.js +335 -0
  57. package/dist/apis/OpenChannelApi.js.map +1 -0
  58. package/dist/apis/StatisticsApi.d.ts +13 -0
  59. package/dist/apis/StatisticsApi.js +83 -0
  60. package/dist/apis/StatisticsApi.js.map +1 -0
  61. package/dist/apis/UserApi.d.ts +92 -0
  62. package/dist/apis/UserApi.js +1185 -0
  63. package/dist/apis/UserApi.js.map +1 -0
  64. package/dist/apis/baseapi.d.ts +18 -0
  65. package/dist/apis/baseapi.js +22 -0
  66. package/dist/apis/baseapi.js.map +1 -0
  67. package/dist/apis/exception.d.ts +10 -0
  68. package/dist/apis/exception.js +10 -0
  69. package/dist/apis/exception.js.map +1 -0
  70. package/dist/auth/auth.d.ts +26 -0
  71. package/dist/auth/auth.js +9 -0
  72. package/dist/auth/auth.js.map +1 -0
  73. package/dist/configuration.d.ts +18 -0
  74. package/dist/configuration.js +17 -0
  75. package/dist/configuration.js.map +1 -0
  76. package/dist/http/http.d.ts +83 -0
  77. package/dist/http/http.js +145 -0
  78. package/dist/http/http.js.map +1 -0
  79. package/dist/http/isomorphic-fetch.d.ts +5 -0
  80. package/dist/http/isomorphic-fetch.js +27 -0
  81. package/dist/http/isomorphic-fetch.js.map +1 -0
  82. package/dist/index.d.ts +10 -0
  83. package/dist/index.js +9 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/jest.config.d.ts +3 -0
  86. package/dist/jest.config.js +9 -0
  87. package/dist/jest.config.js.map +1 -0
  88. package/dist/jest.setup.d.ts +1 -0
  89. package/dist/jest.setup.js +3 -0
  90. package/dist/jest.setup.js.map +1 -0
  91. package/dist/middleware.d.ts +16 -0
  92. package/dist/middleware.js +13 -0
  93. package/dist/middleware.js.map +1 -0
  94. package/dist/models/AcceptAnInvitationRequest.d.ts +18 -0
  95. package/dist/models/AcceptAnInvitationRequest.js +23 -0
  96. package/dist/models/AcceptAnInvitationRequest.js.map +1 -0
  97. package/dist/models/AddARegistrationOrDeviceTokenRequest.d.ts +19 -0
  98. package/dist/models/AddARegistrationOrDeviceTokenRequest.js +29 -0
  99. package/dist/models/AddARegistrationOrDeviceTokenRequest.js.map +1 -0
  100. package/dist/models/AddARegistrationOrDeviceTokenResponse.d.ts +20 -0
  101. package/dist/models/AddARegistrationOrDeviceTokenResponse.js +29 -0
  102. package/dist/models/AddARegistrationOrDeviceTokenResponse.js.map +1 -0
  103. package/dist/models/AddExtraDataToAMessageRequest.d.ts +18 -0
  104. package/dist/models/AddExtraDataToAMessageRequest.js +17 -0
  105. package/dist/models/AddExtraDataToAMessageRequest.js.map +1 -0
  106. package/dist/models/AddExtraDataToAMessageResponse.d.ts +18 -0
  107. package/dist/models/AddExtraDataToAMessageResponse.js +17 -0
  108. package/dist/models/AddExtraDataToAMessageResponse.js.map +1 -0
  109. package/dist/models/BlockAUserRequest.d.ts +18 -0
  110. package/dist/models/BlockAUserRequest.js +23 -0
  111. package/dist/models/BlockAUserRequest.js.map +1 -0
  112. package/dist/models/BlockAUserResponse.d.ts +19 -0
  113. package/dist/models/BlockAUserResponse.js +23 -0
  114. package/dist/models/BlockAUserResponse.js.map +1 -0
  115. package/dist/models/CheckIfMemberResponse.d.ts +19 -0
  116. package/dist/models/CheckIfMemberResponse.js +23 -0
  117. package/dist/models/CheckIfMemberResponse.js.map +1 -0
  118. package/dist/models/ChooseAPushNotificationContentTemplateRequest.d.ts +18 -0
  119. package/dist/models/ChooseAPushNotificationContentTemplateRequest.js +17 -0
  120. package/dist/models/ChooseAPushNotificationContentTemplateRequest.js.map +1 -0
  121. package/dist/models/ChooseAPushNotificationContentTemplateResponse.d.ts +17 -0
  122. package/dist/models/ChooseAPushNotificationContentTemplateResponse.js +17 -0
  123. package/dist/models/ChooseAPushNotificationContentTemplateResponse.js.map +1 -0
  124. package/dist/models/CreateABotRequest.d.ts +25 -0
  125. package/dist/models/CreateABotRequest.js +65 -0
  126. package/dist/models/CreateABotRequest.js.map +1 -0
  127. package/dist/models/CreateABotResponse.d.ts +26 -0
  128. package/dist/models/CreateABotResponse.js +59 -0
  129. package/dist/models/CreateABotResponse.js.map +1 -0
  130. package/dist/models/CreateABotResponseBot.d.ts +25 -0
  131. package/dist/models/CreateABotResponseBot.js +65 -0
  132. package/dist/models/CreateABotResponseBot.js.map +1 -0
  133. package/dist/models/CreateABotResponseBotStyle.d.ts +21 -0
  134. package/dist/models/CreateABotResponseBotStyle.js +35 -0
  135. package/dist/models/CreateABotResponseBotStyle.js.map +1 -0
  136. package/dist/models/CreateAChannelMetadataRequest.d.ts +18 -0
  137. package/dist/models/CreateAChannelMetadataRequest.js +23 -0
  138. package/dist/models/CreateAChannelMetadataRequest.js.map +1 -0
  139. package/dist/models/CreateAChannelMetadataResponse.d.ts +18 -0
  140. package/dist/models/CreateAChannelMetadataResponse.js +23 -0
  141. package/dist/models/CreateAChannelMetadataResponse.js.map +1 -0
  142. package/dist/models/CreateAGroupChannelRequest.d.ts +37 -0
  143. package/dist/models/CreateAGroupChannelRequest.js +125 -0
  144. package/dist/models/CreateAGroupChannelRequest.js.map +1 -0
  145. package/dist/models/CreateAUserRequest.d.ts +24 -0
  146. package/dist/models/CreateAUserRequest.js +53 -0
  147. package/dist/models/CreateAUserRequest.js.map +1 -0
  148. package/dist/models/CreateAnOpenChannelRequest.d.ts +26 -0
  149. package/dist/models/CreateAnOpenChannelRequest.js +65 -0
  150. package/dist/models/CreateAnOpenChannelRequest.js.map +1 -0
  151. package/dist/models/CreateUserTokenRequest.d.ts +17 -0
  152. package/dist/models/CreateUserTokenRequest.js +17 -0
  153. package/dist/models/CreateUserTokenRequest.js.map +1 -0
  154. package/dist/models/CreateUserTokenResponse.d.ts +18 -0
  155. package/dist/models/CreateUserTokenResponse.js +23 -0
  156. package/dist/models/CreateUserTokenResponse.js.map +1 -0
  157. package/dist/models/FreezeAGroupChannelRequest.d.ts +17 -0
  158. package/dist/models/FreezeAGroupChannelRequest.js +17 -0
  159. package/dist/models/FreezeAGroupChannelRequest.js.map +1 -0
  160. package/dist/models/FreezeAnOpenChannelRequest.d.ts +17 -0
  161. package/dist/models/FreezeAnOpenChannelRequest.js +17 -0
  162. package/dist/models/FreezeAnOpenChannelRequest.js.map +1 -0
  163. package/dist/models/GetAGroupChannelResponse.d.ts +75 -0
  164. package/dist/models/GetAGroupChannelResponse.js +287 -0
  165. package/dist/models/GetAGroupChannelResponse.js.map +1 -0
  166. package/dist/models/GetAGroupChannelResponseAllOf.d.ts +18 -0
  167. package/dist/models/GetAGroupChannelResponseAllOf.js +17 -0
  168. package/dist/models/GetAGroupChannelResponseAllOf.js.map +1 -0
  169. package/dist/models/GetChannelInvitationPreferenceResponse.d.ts +17 -0
  170. package/dist/models/GetChannelInvitationPreferenceResponse.js +17 -0
  171. package/dist/models/GetChannelInvitationPreferenceResponse.js.map +1 -0
  172. package/dist/models/GetTotalNumberOfMessagesInAChannelResponse.d.ts +17 -0
  173. package/dist/models/GetTotalNumberOfMessagesInAChannelResponse.js +17 -0
  174. package/dist/models/GetTotalNumberOfMessagesInAChannelResponse.js.map +1 -0
  175. package/dist/models/GroupChannelListMembersResponse.d.ts +19 -0
  176. package/dist/models/GroupChannelListMembersResponse.js +23 -0
  177. package/dist/models/GroupChannelListMembersResponse.js.map +1 -0
  178. package/dist/models/GroupChatListChannelsResponse.d.ts +20 -0
  179. package/dist/models/GroupChatListChannelsResponse.js +29 -0
  180. package/dist/models/GroupChatListChannelsResponse.js.map +1 -0
  181. package/dist/models/HideAChannelRequest.d.ts +20 -0
  182. package/dist/models/HideAChannelRequest.js +35 -0
  183. package/dist/models/HideAChannelRequest.js.map +1 -0
  184. package/dist/models/InviteAsMembersRequest.d.ts +20 -0
  185. package/dist/models/InviteAsMembersRequest.js +35 -0
  186. package/dist/models/InviteAsMembersRequest.js.map +1 -0
  187. package/dist/models/InviteAsMembersResponse.d.ts +75 -0
  188. package/dist/models/InviteAsMembersResponse.js +287 -0
  189. package/dist/models/InviteAsMembersResponse.js.map +1 -0
  190. package/dist/models/InviteAsMembersResponseAllOf.d.ts +18 -0
  191. package/dist/models/InviteAsMembersResponseAllOf.js +17 -0
  192. package/dist/models/InviteAsMembersResponseAllOf.js.map +1 -0
  193. package/dist/models/JoinAChannelRequest.d.ts +18 -0
  194. package/dist/models/JoinAChannelRequest.js +23 -0
  195. package/dist/models/JoinAChannelRequest.js.map +1 -0
  196. package/dist/models/JoinChannelsRequest.d.ts +17 -0
  197. package/dist/models/JoinChannelsRequest.js +17 -0
  198. package/dist/models/JoinChannelsRequest.js.map +1 -0
  199. package/dist/models/LeaveAChannelRequest.d.ts +21 -0
  200. package/dist/models/LeaveAChannelRequest.js +35 -0
  201. package/dist/models/LeaveAChannelRequest.js.map +1 -0
  202. package/dist/models/LeaveMyGroupChannelsRequest.d.ts +17 -0
  203. package/dist/models/LeaveMyGroupChannelsRequest.js +17 -0
  204. package/dist/models/LeaveMyGroupChannelsRequest.js.map +1 -0
  205. package/dist/models/ListBlockedUsersResponse.d.ts +19 -0
  206. package/dist/models/ListBlockedUsersResponse.js +23 -0
  207. package/dist/models/ListBlockedUsersResponse.js.map +1 -0
  208. package/dist/models/ListBotsResponse.d.ts +19 -0
  209. package/dist/models/ListBotsResponse.js +23 -0
  210. package/dist/models/ListBotsResponse.js.map +1 -0
  211. package/dist/models/ListBotsResponseBotsInner.d.ts +32 -0
  212. package/dist/models/ListBotsResponseBotsInner.js +77 -0
  213. package/dist/models/ListBotsResponseBotsInner.js.map +1 -0
  214. package/dist/models/ListBotsResponseBotsInnerAi.d.ts +28 -0
  215. package/dist/models/ListBotsResponseBotsInnerAi.js +83 -0
  216. package/dist/models/ListBotsResponseBotsInnerAi.js.map +1 -0
  217. package/dist/models/ListBotsResponseBotsInnerBot.d.ts +24 -0
  218. package/dist/models/ListBotsResponseBotsInnerBot.js +59 -0
  219. package/dist/models/ListBotsResponseBotsInnerBot.js.map +1 -0
  220. package/dist/models/ListBotsResponseBotsInnerBotStyle.d.ts +21 -0
  221. package/dist/models/ListBotsResponseBotsInnerBotStyle.js +35 -0
  222. package/dist/models/ListBotsResponseBotsInnerBotStyle.js.map +1 -0
  223. package/dist/models/ListBotsResponseBotsInnerBotStyleColor.d.ts +19 -0
  224. package/dist/models/ListBotsResponseBotsInnerBotStyleColor.js +29 -0
  225. package/dist/models/ListBotsResponseBotsInnerBotStyleColor.js.map +1 -0
  226. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInner.d.ts +19 -0
  227. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInner.js +23 -0
  228. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInner.js.map +1 -0
  229. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInnerData.d.ts +17 -0
  230. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInnerData.js +17 -0
  231. package/dist/models/ListBotsResponseBotsInnerFirstMessagesInnerData.js.map +1 -0
  232. package/dist/models/ListBotsResponseBotsInnerSafeguard.d.ts +20 -0
  233. package/dist/models/ListBotsResponseBotsInnerSafeguard.js +35 -0
  234. package/dist/models/ListBotsResponseBotsInnerSafeguard.js.map +1 -0
  235. package/dist/models/ListMessagesResponse.d.ts +18 -0
  236. package/dist/models/ListMessagesResponse.js +17 -0
  237. package/dist/models/ListMessagesResponse.js.map +1 -0
  238. package/dist/models/ListMyGroupChannelsResponse.d.ts +20 -0
  239. package/dist/models/ListMyGroupChannelsResponse.js +29 -0
  240. package/dist/models/ListMyGroupChannelsResponse.js.map +1 -0
  241. package/dist/models/ListOpenChannelsResponse.d.ts +20 -0
  242. package/dist/models/ListOpenChannelsResponse.js +29 -0
  243. package/dist/models/ListOpenChannelsResponse.js.map +1 -0
  244. package/dist/models/ListOperatorsResponse.d.ts +19 -0
  245. package/dist/models/ListOperatorsResponse.js +23 -0
  246. package/dist/models/ListOperatorsResponse.js.map +1 -0
  247. package/dist/models/ListRegistrationOrDeviceTokensResponse.d.ts +21 -0
  248. package/dist/models/ListRegistrationOrDeviceTokensResponse.js +35 -0
  249. package/dist/models/ListRegistrationOrDeviceTokensResponse.js.map +1 -0
  250. package/dist/models/ListUsersResponse.d.ts +19 -0
  251. package/dist/models/ListUsersResponse.js +23 -0
  252. package/dist/models/ListUsersResponse.js.map +1 -0
  253. package/dist/models/MarkAllMessagesAsReadRequest.d.ts +17 -0
  254. package/dist/models/MarkAllMessagesAsReadRequest.js +17 -0
  255. package/dist/models/MarkAllMessagesAsReadRequest.js.map +1 -0
  256. package/dist/models/MarkChannelMessagesAsReadRequest.d.ts +17 -0
  257. package/dist/models/MarkChannelMessagesAsReadRequest.js +17 -0
  258. package/dist/models/MarkChannelMessagesAsReadRequest.js.map +1 -0
  259. package/dist/models/MigrateMessagesAdminMessageRequest.d.ts +26 -0
  260. package/dist/models/MigrateMessagesAdminMessageRequest.js +65 -0
  261. package/dist/models/MigrateMessagesAdminMessageRequest.js.map +1 -0
  262. package/dist/models/MigrateMessagesFileMessageRequest.d.ts +32 -0
  263. package/dist/models/MigrateMessagesFileMessageRequest.js +95 -0
  264. package/dist/models/MigrateMessagesFileMessageRequest.js.map +1 -0
  265. package/dist/models/MigrateMessagesFileMessageRequestThumbnailsInner.d.ts +16 -0
  266. package/dist/models/MigrateMessagesFileMessageRequestThumbnailsInner.js +10 -0
  267. package/dist/models/MigrateMessagesFileMessageRequestThumbnailsInner.js.map +1 -0
  268. package/dist/models/MigrateMessagesRequest.d.ts +20 -0
  269. package/dist/models/MigrateMessagesRequest.js +29 -0
  270. package/dist/models/MigrateMessagesRequest.js.map +1 -0
  271. package/dist/models/MigrateMessagesRequestMessagesInner.d.ts +35 -0
  272. package/dist/models/MigrateMessagesRequestMessagesInner.js +113 -0
  273. package/dist/models/MigrateMessagesRequestMessagesInner.js.map +1 -0
  274. package/dist/models/MigrateMessagesTextMessageRequest.d.ts +26 -0
  275. package/dist/models/MigrateMessagesTextMessageRequest.js +65 -0
  276. package/dist/models/MigrateMessagesTextMessageRequest.js.map +1 -0
  277. package/dist/models/ObjectSerializer.d.ts +128 -0
  278. package/dist/models/ObjectSerializer.js +576 -0
  279. package/dist/models/ObjectSerializer.js.map +1 -0
  280. package/dist/models/RegisterOperatorsToAGroupChannelRequest.d.ts +17 -0
  281. package/dist/models/RegisterOperatorsToAGroupChannelRequest.js +17 -0
  282. package/dist/models/RegisterOperatorsToAGroupChannelRequest.js.map +1 -0
  283. package/dist/models/RemoveARegistrationOrDeviceTokenResponse.d.ts +19 -0
  284. package/dist/models/RemoveARegistrationOrDeviceTokenResponse.js +23 -0
  285. package/dist/models/RemoveARegistrationOrDeviceTokenResponse.js.map +1 -0
  286. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringASpecificTokenResponse.d.ts +19 -0
  287. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringASpecificTokenResponse.js +23 -0
  288. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringASpecificTokenResponse.js.map +1 -0
  289. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringAllDeviceTokensResponse.d.ts +19 -0
  290. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringAllDeviceTokensResponse.js +23 -0
  291. package/dist/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringAllDeviceTokensResponse.js.map +1 -0
  292. package/dist/models/RemoveAllRegistrationOrDeviceTokenResponse.d.ts +19 -0
  293. package/dist/models/RemoveAllRegistrationOrDeviceTokenResponse.js +23 -0
  294. package/dist/models/RemoveAllRegistrationOrDeviceTokenResponse.js.map +1 -0
  295. package/dist/models/ResetChatHistoryRequest.d.ts +18 -0
  296. package/dist/models/ResetChatHistoryRequest.js +23 -0
  297. package/dist/models/ResetChatHistoryRequest.js.map +1 -0
  298. package/dist/models/ResetChatHistoryResponse.d.ts +17 -0
  299. package/dist/models/ResetChatHistoryResponse.js +17 -0
  300. package/dist/models/ResetChatHistoryResponse.js.map +1 -0
  301. package/dist/models/ScheduleAnAnnouncementRequest.d.ts +36 -0
  302. package/dist/models/ScheduleAnAnnouncementRequest.js +119 -0
  303. package/dist/models/ScheduleAnAnnouncementRequest.js.map +1 -0
  304. package/dist/models/ScheduleAnAnnouncementRequestCreateChannelOptions.d.ts +21 -0
  305. package/dist/models/ScheduleAnAnnouncementRequestCreateChannelOptions.js +41 -0
  306. package/dist/models/ScheduleAnAnnouncementRequestCreateChannelOptions.js.map +1 -0
  307. package/dist/models/ScheduleAnAnnouncementRequestMessage.d.ts +21 -0
  308. package/dist/models/ScheduleAnAnnouncementRequestMessage.js +41 -0
  309. package/dist/models/ScheduleAnAnnouncementRequestMessage.js.map +1 -0
  310. package/dist/models/ScheduleAnAnnouncementResponse.d.ts +42 -0
  311. package/dist/models/ScheduleAnAnnouncementResponse.js +155 -0
  312. package/dist/models/ScheduleAnAnnouncementResponse.js.map +1 -0
  313. package/dist/models/ScheduleAnAnnouncementResponseMessage.d.ts +22 -0
  314. package/dist/models/ScheduleAnAnnouncementResponseMessage.js +47 -0
  315. package/dist/models/ScheduleAnAnnouncementResponseMessage.js.map +1 -0
  316. package/dist/models/SendABotMessageRequest.d.ts +27 -0
  317. package/dist/models/SendABotMessageRequest.js +71 -0
  318. package/dist/models/SendABotMessageRequest.js.map +1 -0
  319. package/dist/models/SendAMessageRequest.d.ts +46 -0
  320. package/dist/models/SendAMessageRequest.js +161 -0
  321. package/dist/models/SendAMessageRequest.js.map +1 -0
  322. package/dist/models/SendAdminMessageRequestBody.d.ts +32 -0
  323. package/dist/models/SendAdminMessageRequestBody.js +83 -0
  324. package/dist/models/SendAdminMessageRequestBody.js.map +1 -0
  325. package/dist/models/SendFileMessageRequestBody.d.ts +41 -0
  326. package/dist/models/SendFileMessageRequestBody.js +137 -0
  327. package/dist/models/SendFileMessageRequestBody.js.map +1 -0
  328. package/dist/models/SendTextMessageRequestBody.d.ts +39 -0
  329. package/dist/models/SendTextMessageRequestBody.js +125 -0
  330. package/dist/models/SendTextMessageRequestBody.js.map +1 -0
  331. package/dist/models/SendTextMessageRequestBodyPushMessageTemplate.d.ts +18 -0
  332. package/dist/models/SendTextMessageRequestBodyPushMessageTemplate.js +23 -0
  333. package/dist/models/SendTextMessageRequestBodyPushMessageTemplate.js.map +1 -0
  334. package/dist/models/SendTextMessageRequestBodyPushMessageTemplateOneOf.d.ts +18 -0
  335. package/dist/models/SendTextMessageRequestBodyPushMessageTemplateOneOf.js +23 -0
  336. package/dist/models/SendTextMessageRequestBodyPushMessageTemplateOneOf.js.map +1 -0
  337. package/dist/models/SendbirdBasicUserInfo.d.ts +25 -0
  338. package/dist/models/SendbirdBasicUserInfo.js +59 -0
  339. package/dist/models/SendbirdBasicUserInfo.js.map +1 -0
  340. package/dist/models/SendbirdDisappearingMessage.d.ts +18 -0
  341. package/dist/models/SendbirdDisappearingMessage.js +23 -0
  342. package/dist/models/SendbirdDisappearingMessage.js.map +1 -0
  343. package/dist/models/SendbirdExtendedMessagePayload.d.ts +18 -0
  344. package/dist/models/SendbirdExtendedMessagePayload.js +23 -0
  345. package/dist/models/SendbirdExtendedMessagePayload.js.map +1 -0
  346. package/dist/models/SendbirdFile.d.ts +23 -0
  347. package/dist/models/SendbirdFile.js +47 -0
  348. package/dist/models/SendbirdFile.js.map +1 -0
  349. package/dist/models/SendbirdGroupChannel.d.ts +73 -0
  350. package/dist/models/SendbirdGroupChannel.js +281 -0
  351. package/dist/models/SendbirdGroupChannel.js.map +1 -0
  352. package/dist/models/SendbirdGroupChannelDetail.d.ts +60 -0
  353. package/dist/models/SendbirdGroupChannelDetail.js +209 -0
  354. package/dist/models/SendbirdGroupChannelDetail.js.map +1 -0
  355. package/dist/models/SendbirdGroupChannelDetailChannel.d.ts +24 -0
  356. package/dist/models/SendbirdGroupChannelDetailChannel.js +59 -0
  357. package/dist/models/SendbirdGroupChannelDetailChannel.js.map +1 -0
  358. package/dist/models/SendbirdMember.d.ts +41 -0
  359. package/dist/models/SendbirdMember.js +143 -0
  360. package/dist/models/SendbirdMember.js.map +1 -0
  361. package/dist/models/SendbirdMessageResponse.d.ts +53 -0
  362. package/dist/models/SendbirdMessageResponse.js +191 -0
  363. package/dist/models/SendbirdMessageResponse.js.map +1 -0
  364. package/dist/models/SendbirdMessageResponseMessageEvents.d.ts +20 -0
  365. package/dist/models/SendbirdMessageResponseMessageEvents.js +35 -0
  366. package/dist/models/SendbirdMessageResponseMessageEvents.js.map +1 -0
  367. package/dist/models/SendbirdOpenChannel.d.ts +30 -0
  368. package/dist/models/SendbirdOpenChannel.js +89 -0
  369. package/dist/models/SendbirdOpenChannel.js.map +1 -0
  370. package/dist/models/SendbirdParentMessageInfo.d.ts +25 -0
  371. package/dist/models/SendbirdParentMessageInfo.js +53 -0
  372. package/dist/models/SendbirdParentMessageInfo.js.map +1 -0
  373. package/dist/models/SendbirdPushTriggerOption.d.ts +1 -0
  374. package/dist/models/SendbirdPushTriggerOption.js +2 -0
  375. package/dist/models/SendbirdPushTriggerOption.js.map +1 -0
  376. package/dist/models/SendbirdReaction.d.ts +19 -0
  377. package/dist/models/SendbirdReaction.js +29 -0
  378. package/dist/models/SendbirdReaction.js.map +1 -0
  379. package/dist/models/SendbirdSmsFallback.d.ts +18 -0
  380. package/dist/models/SendbirdSmsFallback.js +23 -0
  381. package/dist/models/SendbirdSmsFallback.js.map +1 -0
  382. package/dist/models/SendbirdSortedMetaarrayInner.d.ts +18 -0
  383. package/dist/models/SendbirdSortedMetaarrayInner.js +23 -0
  384. package/dist/models/SendbirdSortedMetaarrayInner.js.map +1 -0
  385. package/dist/models/SendbirdThumbnail.d.ts +22 -0
  386. package/dist/models/SendbirdThumbnail.js +47 -0
  387. package/dist/models/SendbirdThumbnail.js.map +1 -0
  388. package/dist/models/SendbirdUser.d.ts +39 -0
  389. package/dist/models/SendbirdUser.js +143 -0
  390. package/dist/models/SendbirdUser.js.map +1 -0
  391. package/dist/models/StartTypingIndicatorsRequest.d.ts +17 -0
  392. package/dist/models/StartTypingIndicatorsRequest.js +17 -0
  393. package/dist/models/StartTypingIndicatorsRequest.js.map +1 -0
  394. package/dist/models/UpdateAChannelMetadataRequest.d.ts +18 -0
  395. package/dist/models/UpdateAChannelMetadataRequest.js +23 -0
  396. package/dist/models/UpdateAChannelMetadataRequest.js.map +1 -0
  397. package/dist/models/UpdateAGroupChannelRequest.d.ts +27 -0
  398. package/dist/models/UpdateAGroupChannelRequest.js +71 -0
  399. package/dist/models/UpdateAGroupChannelRequest.js.map +1 -0
  400. package/dist/models/UpdateAMessageRequest.d.ts +24 -0
  401. package/dist/models/UpdateAMessageRequest.js +53 -0
  402. package/dist/models/UpdateAMessageRequest.js.map +1 -0
  403. package/dist/models/UpdateAUserRequest.d.ts +26 -0
  404. package/dist/models/UpdateAUserRequest.js +65 -0
  405. package/dist/models/UpdateAUserRequest.js.map +1 -0
  406. package/dist/models/UpdateAnOpenChannelRequest.d.ts +23 -0
  407. package/dist/models/UpdateAnOpenChannelRequest.js +47 -0
  408. package/dist/models/UpdateAnOpenChannelRequest.js.map +1 -0
  409. package/dist/models/UpdateChannelInvitationPreferenceRequest.d.ts +17 -0
  410. package/dist/models/UpdateChannelInvitationPreferenceRequest.js +17 -0
  411. package/dist/models/UpdateChannelInvitationPreferenceRequest.js.map +1 -0
  412. package/dist/models/UpdateChannelInvitationPreferenceResponse.d.ts +17 -0
  413. package/dist/models/UpdateChannelInvitationPreferenceResponse.js +17 -0
  414. package/dist/models/UpdateChannelInvitationPreferenceResponse.js.map +1 -0
  415. package/dist/models/UpdateCountPreferenceOfAChannelRequest.d.ts +18 -0
  416. package/dist/models/UpdateCountPreferenceOfAChannelRequest.js +17 -0
  417. package/dist/models/UpdateCountPreferenceOfAChannelRequest.js.map +1 -0
  418. package/dist/models/UpdateCountPreferenceOfChannelByUrlResponse.d.ts +18 -0
  419. package/dist/models/UpdateCountPreferenceOfChannelByUrlResponse.js +17 -0
  420. package/dist/models/UpdateCountPreferenceOfChannelByUrlResponse.js.map +1 -0
  421. package/dist/models/UpdateExtraDataInAMessageRequest.d.ts +20 -0
  422. package/dist/models/UpdateExtraDataInAMessageRequest.js +29 -0
  423. package/dist/models/UpdateExtraDataInAMessageRequest.js.map +1 -0
  424. package/dist/models/UpdateExtraDataInAMessageResponse.d.ts +18 -0
  425. package/dist/models/UpdateExtraDataInAMessageResponse.js +17 -0
  426. package/dist/models/UpdateExtraDataInAMessageResponse.js.map +1 -0
  427. package/dist/models/UpdatePushPreferencesForAChannelRequest.d.ts +19 -0
  428. package/dist/models/UpdatePushPreferencesForAChannelRequest.js +23 -0
  429. package/dist/models/UpdatePushPreferencesForAChannelRequest.js.map +1 -0
  430. package/dist/models/UpdatePushPreferencesForAChannelResponse.d.ts +20 -0
  431. package/dist/models/UpdatePushPreferencesForAChannelResponse.js +29 -0
  432. package/dist/models/UpdatePushPreferencesForAChannelResponse.js.map +1 -0
  433. package/dist/models/UpdatePushPreferencesRequest.d.ts +31 -0
  434. package/dist/models/UpdatePushPreferencesRequest.js +95 -0
  435. package/dist/models/UpdatePushPreferencesRequest.js.map +1 -0
  436. package/dist/models/UpdatePushPreferencesResponse.d.ts +31 -0
  437. package/dist/models/UpdatePushPreferencesResponse.js +95 -0
  438. package/dist/models/UpdatePushPreferencesResponse.js.map +1 -0
  439. package/dist/models/ViewCountPreferenceOfAChannelResponse.d.ts +18 -0
  440. package/dist/models/ViewCountPreferenceOfAChannelResponse.js +17 -0
  441. package/dist/models/ViewCountPreferenceOfAChannelResponse.js.map +1 -0
  442. package/dist/models/ViewNumberOfChannelsWithUnreadMessagesResponse.d.ts +17 -0
  443. package/dist/models/ViewNumberOfChannelsWithUnreadMessagesResponse.js +17 -0
  444. package/dist/models/ViewNumberOfChannelsWithUnreadMessagesResponse.js.map +1 -0
  445. package/dist/models/ViewNumberOfDailyActiveUsersResponse.d.ts +17 -0
  446. package/dist/models/ViewNumberOfDailyActiveUsersResponse.js +17 -0
  447. package/dist/models/ViewNumberOfDailyActiveUsersResponse.js.map +1 -0
  448. package/dist/models/ViewNumberOfMonthlyActiveUsersResponse.d.ts +17 -0
  449. package/dist/models/ViewNumberOfMonthlyActiveUsersResponse.js +17 -0
  450. package/dist/models/ViewNumberOfMonthlyActiveUsersResponse.js.map +1 -0
  451. package/dist/models/ViewNumberOfUnreadMessagesResponse.d.ts +17 -0
  452. package/dist/models/ViewNumberOfUnreadMessagesResponse.js +17 -0
  453. package/dist/models/ViewNumberOfUnreadMessagesResponse.js.map +1 -0
  454. package/dist/models/ViewPushPreferencesForAChannelResponse.d.ts +20 -0
  455. package/dist/models/ViewPushPreferencesForAChannelResponse.js +29 -0
  456. package/dist/models/ViewPushPreferencesForAChannelResponse.js.map +1 -0
  457. package/dist/models/ViewPushPreferencesResponse.d.ts +31 -0
  458. package/dist/models/ViewPushPreferencesResponse.js +95 -0
  459. package/dist/models/ViewPushPreferencesResponse.js.map +1 -0
  460. package/dist/models/ViewWhoOwnsARegistrationOrDeviceTokenResponseInner.d.ts +17 -0
  461. package/dist/models/ViewWhoOwnsARegistrationOrDeviceTokenResponseInner.js +17 -0
  462. package/dist/models/ViewWhoOwnsARegistrationOrDeviceTokenResponseInner.js.map +1 -0
  463. package/dist/models/all.d.ts +119 -0
  464. package/dist/models/all.js +120 -0
  465. package/dist/models/all.js.map +1 -0
  466. package/dist/rxjsStub.d.ts +10 -0
  467. package/dist/rxjsStub.js +24 -0
  468. package/dist/rxjsStub.js.map +1 -0
  469. package/dist/servers.d.ts +21 -0
  470. package/dist/servers.js +27 -0
  471. package/dist/servers.js.map +1 -0
  472. package/dist/tests/integration/bot.test.d.ts +1 -0
  473. package/dist/tests/integration/bot.test.js +153 -0
  474. package/dist/tests/integration/bot.test.js.map +1 -0
  475. package/dist/tests/integration/constants.d.ts +5 -0
  476. package/dist/tests/integration/constants.js +9 -0
  477. package/dist/tests/integration/constants.js.map +1 -0
  478. package/dist/tests/integration/groupChannel.test.d.ts +1 -0
  479. package/dist/tests/integration/groupChannel.test.js +1238 -0
  480. package/dist/tests/integration/groupChannel.test.js.map +1 -0
  481. package/dist/tests/integration/helper.d.ts +1 -0
  482. package/dist/tests/integration/helper.js +4 -0
  483. package/dist/tests/integration/helper.js.map +1 -0
  484. package/dist/tests/integration/metadata.test.d.ts +1 -0
  485. package/dist/tests/integration/metadata.test.js +17 -0
  486. package/dist/tests/integration/metadata.test.js.map +1 -0
  487. package/dist/tests/integration/moderation.test.d.ts +1 -0
  488. package/dist/tests/integration/moderation.test.js +142 -0
  489. package/dist/tests/integration/moderation.test.js.map +1 -0
  490. package/dist/tests/integration/openChannel.test.d.ts +1 -0
  491. package/dist/tests/integration/openChannel.test.js +194 -0
  492. package/dist/tests/integration/openChannel.test.js.map +1 -0
  493. package/dist/tests/integration/statistics.test.d.ts +1 -0
  494. package/dist/tests/integration/statistics.test.js +43 -0
  495. package/dist/tests/integration/statistics.test.js.map +1 -0
  496. package/dist/tests/integration/user.test.d.ts +1 -0
  497. package/dist/tests/integration/user.test.js +444 -0
  498. package/dist/tests/integration/user.test.js.map +1 -0
  499. package/dist/types/ObjectParamAPI.d.ts +772 -0
  500. package/dist/types/ObjectParamAPI.js +304 -0
  501. package/dist/types/ObjectParamAPI.js.map +1 -0
  502. package/dist/types/ObservableAPI.d.ts +228 -0
  503. package/dist/types/ObservableAPI.js +1320 -0
  504. package/dist/types/ObservableAPI.js.map +1 -0
  505. package/dist/types/PromiseAPI.d.ts +209 -0
  506. package/dist/types/PromiseAPI.js +387 -0
  507. package/dist/types/PromiseAPI.js.map +1 -0
  508. package/dist/util.d.ts +2 -0
  509. package/dist/util.js +24 -0
  510. package/dist/util.js.map +1 -0
  511. package/git_push.sh +51 -0
  512. package/http/http.ts +231 -0
  513. package/http/isomorphic-fetch.ts +32 -0
  514. package/index.ts +12 -0
  515. package/jest.config.ts +11 -0
  516. package/jest.setup.ts +5 -0
  517. package/middleware.ts +66 -0
  518. package/models/AcceptAnInvitationRequest.ts +42 -0
  519. package/models/AddARegistrationOrDeviceTokenRequest.ts +49 -0
  520. package/models/AddARegistrationOrDeviceTokenResponse.ts +50 -0
  521. package/models/AddExtraDataToAMessageRequest.ts +36 -0
  522. package/models/AddExtraDataToAMessageResponse.ts +36 -0
  523. package/models/BlockAUserRequest.ts +45 -0
  524. package/models/BlockAUserResponse.ts +43 -0
  525. package/models/CheckIfMemberResponse.ts +45 -0
  526. package/models/ChooseAPushNotificationContentTemplateRequest.ts +41 -0
  527. package/models/ChooseAPushNotificationContentTemplateResponse.ts +35 -0
  528. package/models/CreateABotRequest.ts +100 -0
  529. package/models/CreateABotResponse.ts +86 -0
  530. package/models/CreateABotResponseBot.ts +91 -0
  531. package/models/CreateABotResponseBotStyle.ts +57 -0
  532. package/models/CreateAChannelMetadataRequest.ts +42 -0
  533. package/models/CreateAChannelMetadataResponse.ts +42 -0
  534. package/models/CreateAGroupChannelRequest.ts +171 -0
  535. package/models/CreateAUserRequest.ts +80 -0
  536. package/models/CreateAnOpenChannelRequest.ts +91 -0
  537. package/models/CreateUserTokenRequest.ts +35 -0
  538. package/models/CreateUserTokenResponse.ts +42 -0
  539. package/models/FreezeAGroupChannelRequest.ts +35 -0
  540. package/models/FreezeAnOpenChannelRequest.ts +38 -0
  541. package/models/GetAGroupChannelResponse.ts +365 -0
  542. package/models/GetAGroupChannelResponseAllOf.ts +36 -0
  543. package/models/GetChannelInvitationPreferenceResponse.ts +35 -0
  544. package/models/GetTotalNumberOfMessagesInAChannelResponse.ts +35 -0
  545. package/models/GroupChannelListMembersResponse.ts +43 -0
  546. package/models/GroupChatListChannelsResponse.ts +50 -0
  547. package/models/HideAChannelRequest.ts +68 -0
  548. package/models/InviteAsMembersRequest.ts +62 -0
  549. package/models/InviteAsMembersResponse.ts +365 -0
  550. package/models/InviteAsMembersResponseAllOf.ts +36 -0
  551. package/models/JoinAChannelRequest.ts +48 -0
  552. package/models/JoinChannelsRequest.ts +35 -0
  553. package/models/LeaveAChannelRequest.ts +71 -0
  554. package/models/LeaveMyGroupChannelsRequest.ts +35 -0
  555. package/models/ListBlockedUsersResponse.ts +43 -0
  556. package/models/ListBotsResponse.ts +43 -0
  557. package/models/ListBotsResponseBotsInner.ts +110 -0
  558. package/models/ListBotsResponseBotsInnerAi.ts +112 -0
  559. package/models/ListBotsResponseBotsInnerBot.ts +84 -0
  560. package/models/ListBotsResponseBotsInnerBotStyle.ts +57 -0
  561. package/models/ListBotsResponseBotsInnerBotStyleColor.ts +49 -0
  562. package/models/ListBotsResponseBotsInnerFirstMessagesInner.ts +43 -0
  563. package/models/ListBotsResponseBotsInnerFirstMessagesInnerData.ts +35 -0
  564. package/models/ListBotsResponseBotsInnerSafeguard.ts +56 -0
  565. package/models/ListMessagesResponse.ts +36 -0
  566. package/models/ListMyGroupChannelsResponse.ts +50 -0
  567. package/models/ListOpenChannelsResponse.ts +50 -0
  568. package/models/ListOperatorsResponse.ts +43 -0
  569. package/models/ListRegistrationOrDeviceTokensResponse.ts +57 -0
  570. package/models/ListUsersResponse.ts +43 -0
  571. package/models/MarkAllMessagesAsReadRequest.ts +38 -0
  572. package/models/MarkChannelMessagesAsReadRequest.ts +35 -0
  573. package/models/MigrateMessagesAdminMessageRequest.ts +94 -0
  574. package/models/MigrateMessagesFileMessageRequest.ts +130 -0
  575. package/models/MigrateMessagesFileMessageRequestThumbnailsInner.ts +29 -0
  576. package/models/MigrateMessagesRequest.ts +50 -0
  577. package/models/MigrateMessagesRequestMessagesInner.ts +154 -0
  578. package/models/MigrateMessagesTextMessageRequest.ts +94 -0
  579. package/models/ObjectSerializer.ts +611 -0
  580. package/models/RegisterOperatorsToAGroupChannelRequest.ts +35 -0
  581. package/models/RemoveARegistrationOrDeviceTokenResponse.ts +43 -0
  582. package/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringASpecificTokenResponse.ts +43 -0
  583. package/models/RemoveARegistrationOrDeviceTokenWhenUnregisteringAllDeviceTokensResponse.ts +43 -0
  584. package/models/RemoveAllRegistrationOrDeviceTokenResponse.ts +43 -0
  585. package/models/ResetChatHistoryRequest.ts +42 -0
  586. package/models/ResetChatHistoryResponse.ts +38 -0
  587. package/models/ScheduleAnAnnouncementRequest.ts +156 -0
  588. package/models/ScheduleAnAnnouncementRequestCreateChannelOptions.ts +63 -0
  589. package/models/ScheduleAnAnnouncementRequestMessage.ts +63 -0
  590. package/models/ScheduleAnAnnouncementResponse.ts +198 -0
  591. package/models/ScheduleAnAnnouncementResponseMessage.ts +70 -0
  592. package/models/SendABotMessageRequest.ts +99 -0
  593. package/models/SendAMessageRequest.ts +219 -0
  594. package/models/SendAdminMessageRequestBody.ts +121 -0
  595. package/models/SendBirdFile.ts +71 -0
  596. package/models/SendBirdGroupChannel.ts +355 -0
  597. package/models/SendBirdMember.ts +187 -0
  598. package/models/SendBirdMessageResponse.ts +245 -0
  599. package/models/SendBirdParentMessageInfo.ts +79 -0
  600. package/models/SendBirdUser.ts +188 -0
  601. package/models/SendFileMessageRequestBody.ts +187 -0
  602. package/models/SendTextMessageRequestBody.ts +170 -0
  603. package/models/SendTextMessageRequestBodyPushMessageTemplate.ts +52 -0
  604. package/models/SendTextMessageRequestBodyPushMessageTemplateOneOf.ts +48 -0
  605. package/models/SendbirdBasicUserInfo.ts +87 -0
  606. package/models/SendbirdDisappearingMessage.ts +42 -0
  607. package/models/SendbirdExtendedMessagePayload.ts +51 -0
  608. package/models/SendbirdGroupChannelDetail.ts +266 -0
  609. package/models/SendbirdGroupChannelDetailChannel.ts +84 -0
  610. package/models/SendbirdMessageResponseMessageEvents.ts +56 -0
  611. package/models/SendbirdOpenChannel.ts +120 -0
  612. package/models/SendbirdPushTriggerOption.ts +15 -0
  613. package/models/SendbirdReaction.ts +49 -0
  614. package/models/SendbirdSmsFallback.ts +42 -0
  615. package/models/SendbirdSortedMetaarrayInner.ts +42 -0
  616. package/models/SendbirdThumbnail.ts +70 -0
  617. package/models/StartTypingIndicatorsRequest.ts +35 -0
  618. package/models/UpdateAChannelMetadataRequest.ts +42 -0
  619. package/models/UpdateAGroupChannelRequest.ts +98 -0
  620. package/models/UpdateAMessageRequest.ts +80 -0
  621. package/models/UpdateAUserRequest.ts +91 -0
  622. package/models/UpdateAnOpenChannelRequest.ts +70 -0
  623. package/models/UpdateChannelInvitationPreferenceRequest.ts +35 -0
  624. package/models/UpdateChannelInvitationPreferenceResponse.ts +35 -0
  625. package/models/UpdateCountPreferenceOfAChannelRequest.ts +38 -0
  626. package/models/UpdateCountPreferenceOfChannelByUrlResponse.ts +38 -0
  627. package/models/UpdateExtraDataInAMessageRequest.ts +50 -0
  628. package/models/UpdateExtraDataInAMessageResponse.ts +36 -0
  629. package/models/UpdatePushPreferencesForAChannelRequest.ts +48 -0
  630. package/models/UpdatePushPreferencesForAChannelResponse.ts +50 -0
  631. package/models/UpdatePushPreferencesRequest.ts +127 -0
  632. package/models/UpdatePushPreferencesResponse.ts +127 -0
  633. package/models/ViewCountPreferenceOfAChannelResponse.ts +38 -0
  634. package/models/ViewNumberOfChannelsWithUnreadMessagesResponse.ts +35 -0
  635. package/models/ViewNumberOfDailyActiveUsersResponse.ts +35 -0
  636. package/models/ViewNumberOfMonthlyActiveUsersResponse.ts +35 -0
  637. package/models/ViewNumberOfUnreadMessagesResponse.ts +35 -0
  638. package/models/ViewPushPreferencesForAChannelResponse.ts +50 -0
  639. package/models/ViewPushPreferencesResponse.ts +127 -0
  640. package/models/ViewWhoOwnsARegistrationOrDeviceTokenResponseInner.ts +35 -0
  641. package/models/all.ts +119 -0
  642. package/package.json +50 -0
  643. package/rxjsStub.ts +27 -0
  644. package/servers.ts +53 -0
  645. package/tests/integration/bot.test.ts +186 -0
  646. package/tests/integration/constants.ts +10 -0
  647. package/tests/integration/groupChannel.test.ts +1624 -0
  648. package/tests/integration/helper.ts +8 -0
  649. package/tests/integration/metadata.test.ts +22 -0
  650. package/tests/integration/moderation.test.ts +172 -0
  651. package/tests/integration/openChannel.test.ts +239 -0
  652. package/tests/integration/statistics.test.ts +44 -0
  653. package/tests/integration/user.test.ts +585 -0
  654. package/tsconfig.json +29 -0
  655. package/types/ObjectParamAPI.ts +3609 -0
  656. package/types/ObservableAPI.ts +2592 -0
  657. package/types/PromiseAPI.ts +1438 -0
  658. package/util.ts +37 -0
@@ -0,0 +1,2592 @@
1
+ import { ResponseContext, RequestContext, HttpFile } from '../http/http';
2
+ import * as models from '../models/all';
3
+ import { Configuration} from '../configuration'
4
+ import { Observable, of, from } from '../rxjsStub';
5
+ import {mergeMap, map} from '../rxjsStub';
6
+ import { AcceptAnInvitationRequest } from '../models/AcceptAnInvitationRequest';
7
+ import { AddARegistrationOrDeviceTokenRequest } from '../models/AddARegistrationOrDeviceTokenRequest';
8
+ import { AddARegistrationOrDeviceTokenResponse } from '../models/AddARegistrationOrDeviceTokenResponse';
9
+ import { AddExtraDataToAMessageRequest } from '../models/AddExtraDataToAMessageRequest';
10
+ import { AddExtraDataToAMessageResponse } from '../models/AddExtraDataToAMessageResponse';
11
+ import { BlockAUserRequest } from '../models/BlockAUserRequest';
12
+ import { BlockAUserResponse } from '../models/BlockAUserResponse';
13
+ import { CheckIfMemberResponse } from '../models/CheckIfMemberResponse';
14
+ import { ChooseAPushNotificationContentTemplateRequest } from '../models/ChooseAPushNotificationContentTemplateRequest';
15
+ import { ChooseAPushNotificationContentTemplateResponse } from '../models/ChooseAPushNotificationContentTemplateResponse';
16
+ import { CreateABotRequest } from '../models/CreateABotRequest';
17
+ import { CreateABotResponse } from '../models/CreateABotResponse';
18
+ import { CreateABotResponseBot } from '../models/CreateABotResponseBot';
19
+ import { CreateABotResponseBotStyle } from '../models/CreateABotResponseBotStyle';
20
+ import { CreateAChannelMetadataRequest } from '../models/CreateAChannelMetadataRequest';
21
+ import { CreateAChannelMetadataResponse } from '../models/CreateAChannelMetadataResponse';
22
+ import { CreateAGroupChannelRequest } from '../models/CreateAGroupChannelRequest';
23
+ import { CreateAUserRequest } from '../models/CreateAUserRequest';
24
+ import { CreateAnOpenChannelRequest } from '../models/CreateAnOpenChannelRequest';
25
+ import { CreateUserTokenRequest } from '../models/CreateUserTokenRequest';
26
+ import { CreateUserTokenResponse } from '../models/CreateUserTokenResponse';
27
+ import { FreezeAGroupChannelRequest } from '../models/FreezeAGroupChannelRequest';
28
+ import { FreezeAnOpenChannelRequest } from '../models/FreezeAnOpenChannelRequest';
29
+ import { GetAGroupChannelResponse } from '../models/GetAGroupChannelResponse';
30
+ import { GetAGroupChannelResponseAllOf } from '../models/GetAGroupChannelResponseAllOf';
31
+ import { GetChannelInvitationPreferenceResponse } from '../models/GetChannelInvitationPreferenceResponse';
32
+ import { GetTotalNumberOfMessagesInAChannelResponse } from '../models/GetTotalNumberOfMessagesInAChannelResponse';
33
+ import { GroupChannelListMembersResponse } from '../models/GroupChannelListMembersResponse';
34
+ import { GroupChatListChannelsResponse } from '../models/GroupChatListChannelsResponse';
35
+ import { HideAChannelRequest } from '../models/HideAChannelRequest';
36
+ import { InviteAsMembersRequest } from '../models/InviteAsMembersRequest';
37
+ import { InviteAsMembersResponse } from '../models/InviteAsMembersResponse';
38
+ import { InviteAsMembersResponseAllOf } from '../models/InviteAsMembersResponseAllOf';
39
+ import { JoinAChannelRequest } from '../models/JoinAChannelRequest';
40
+ import { JoinChannelsRequest } from '../models/JoinChannelsRequest';
41
+ import { LeaveAChannelRequest } from '../models/LeaveAChannelRequest';
42
+ import { LeaveMyGroupChannelsRequest } from '../models/LeaveMyGroupChannelsRequest';
43
+ import { ListBlockedUsersResponse } from '../models/ListBlockedUsersResponse';
44
+ import { ListBotsResponse } from '../models/ListBotsResponse';
45
+ import { ListBotsResponseBotsInner } from '../models/ListBotsResponseBotsInner';
46
+ import { ListBotsResponseBotsInnerAi } from '../models/ListBotsResponseBotsInnerAi';
47
+ import { ListBotsResponseBotsInnerBot } from '../models/ListBotsResponseBotsInnerBot';
48
+ import { ListBotsResponseBotsInnerBotStyle } from '../models/ListBotsResponseBotsInnerBotStyle';
49
+ import { ListBotsResponseBotsInnerBotStyleColor } from '../models/ListBotsResponseBotsInnerBotStyleColor';
50
+ import { ListBotsResponseBotsInnerFirstMessagesInner } from '../models/ListBotsResponseBotsInnerFirstMessagesInner';
51
+ import { ListBotsResponseBotsInnerFirstMessagesInnerData } from '../models/ListBotsResponseBotsInnerFirstMessagesInnerData';
52
+ import { ListBotsResponseBotsInnerSafeguard } from '../models/ListBotsResponseBotsInnerSafeguard';
53
+ import { ListMessagesResponse } from '../models/ListMessagesResponse';
54
+ import { ListMyGroupChannelsResponse } from '../models/ListMyGroupChannelsResponse';
55
+ import { ListOpenChannelsResponse } from '../models/ListOpenChannelsResponse';
56
+ import { ListOperatorsResponse } from '../models/ListOperatorsResponse';
57
+ import { ListRegistrationOrDeviceTokensResponse } from '../models/ListRegistrationOrDeviceTokensResponse';
58
+ import { ListUsersResponse } from '../models/ListUsersResponse';
59
+ import { MarkAllMessagesAsReadRequest } from '../models/MarkAllMessagesAsReadRequest';
60
+ import { MarkChannelMessagesAsReadRequest } from '../models/MarkChannelMessagesAsReadRequest';
61
+ import { MigrateMessagesAdminMessageRequest } from '../models/MigrateMessagesAdminMessageRequest';
62
+ import { MigrateMessagesFileMessageRequest } from '../models/MigrateMessagesFileMessageRequest';
63
+ import { MigrateMessagesFileMessageRequestThumbnailsInner } from '../models/MigrateMessagesFileMessageRequestThumbnailsInner';
64
+ import { MigrateMessagesRequest } from '../models/MigrateMessagesRequest';
65
+ import { MigrateMessagesRequestMessagesInner } from '../models/MigrateMessagesRequestMessagesInner';
66
+ import { MigrateMessagesTextMessageRequest } from '../models/MigrateMessagesTextMessageRequest';
67
+ import { RegisterOperatorsToAGroupChannelRequest } from '../models/RegisterOperatorsToAGroupChannelRequest';
68
+ import { RemoveARegistrationOrDeviceTokenResponse } from '../models/RemoveARegistrationOrDeviceTokenResponse';
69
+ import { RemoveAllRegistrationOrDeviceTokenResponse } from '../models/RemoveAllRegistrationOrDeviceTokenResponse';
70
+ import { ResetChatHistoryRequest } from '../models/ResetChatHistoryRequest';
71
+ import { ResetChatHistoryResponse } from '../models/ResetChatHistoryResponse';
72
+ import { ScheduleAnAnnouncementRequest } from '../models/ScheduleAnAnnouncementRequest';
73
+ import { ScheduleAnAnnouncementRequestCreateChannelOptions } from '../models/ScheduleAnAnnouncementRequestCreateChannelOptions';
74
+ import { ScheduleAnAnnouncementRequestMessage } from '../models/ScheduleAnAnnouncementRequestMessage';
75
+ import { ScheduleAnAnnouncementResponse } from '../models/ScheduleAnAnnouncementResponse';
76
+ import { ScheduleAnAnnouncementResponseMessage } from '../models/ScheduleAnAnnouncementResponseMessage';
77
+ import { SendABotMessageRequest } from '../models/SendABotMessageRequest';
78
+ import { SendAMessageRequest } from '../models/SendAMessageRequest';
79
+ import { SendAdminMessageRequestBody } from '../models/SendAdminMessageRequestBody';
80
+ import { SendFileMessageRequestBody } from '../models/SendFileMessageRequestBody';
81
+ import { SendTextMessageRequestBody } from '../models/SendTextMessageRequestBody';
82
+ import { SendTextMessageRequestBodyPushMessageTemplate } from '../models/SendTextMessageRequestBodyPushMessageTemplate';
83
+ import { SendTextMessageRequestBodyPushMessageTemplateOneOf } from '../models/SendTextMessageRequestBodyPushMessageTemplateOneOf';
84
+ import { SendbirdBasicUserInfo } from '../models/SendbirdBasicUserInfo';
85
+ import { SendbirdDisappearingMessage } from '../models/SendbirdDisappearingMessage';
86
+ import { SendbirdExtendedMessagePayload } from '../models/SendbirdExtendedMessagePayload';
87
+ import { SendbirdFile } from '../models/SendbirdFile';
88
+ import { SendbirdGroupChannel } from '../models/SendbirdGroupChannel';
89
+ import { SendbirdGroupChannelDetail } from '../models/SendbirdGroupChannelDetail';
90
+ import { SendbirdGroupChannelDetailChannel } from '../models/SendbirdGroupChannelDetailChannel';
91
+ import { SendbirdMember } from '../models/SendbirdMember';
92
+ import { SendbirdMessageResponse } from '../models/SendbirdMessageResponse';
93
+ import { SendbirdMessageResponseMessageEvents } from '../models/SendbirdMessageResponseMessageEvents';
94
+ import { SendbirdOpenChannel } from '../models/SendbirdOpenChannel';
95
+ import { SendbirdParentMessageInfo } from '../models/SendbirdParentMessageInfo';
96
+ import { SendbirdPushTriggerOption } from '../models/SendbirdPushTriggerOption';
97
+ import { SendbirdReaction } from '../models/SendbirdReaction';
98
+ import { SendbirdSmsFallback } from '../models/SendbirdSmsFallback';
99
+ import { SendbirdSortedMetaarrayInner } from '../models/SendbirdSortedMetaarrayInner';
100
+ import { SendbirdThumbnail } from '../models/SendbirdThumbnail';
101
+ import { SendbirdUser } from '../models/SendbirdUser';
102
+ import { StartTypingIndicatorsRequest } from '../models/StartTypingIndicatorsRequest';
103
+ import { UpdateAChannelMetadataRequest } from '../models/UpdateAChannelMetadataRequest';
104
+ import { UpdateAGroupChannelRequest } from '../models/UpdateAGroupChannelRequest';
105
+ import { UpdateAMessageRequest } from '../models/UpdateAMessageRequest';
106
+ import { UpdateAUserRequest } from '../models/UpdateAUserRequest';
107
+ import { UpdateAnOpenChannelRequest } from '../models/UpdateAnOpenChannelRequest';
108
+ import { UpdateChannelInvitationPreferenceRequest } from '../models/UpdateChannelInvitationPreferenceRequest';
109
+ import { UpdateChannelInvitationPreferenceResponse } from '../models/UpdateChannelInvitationPreferenceResponse';
110
+ import { UpdateCountPreferenceOfAChannelRequest } from '../models/UpdateCountPreferenceOfAChannelRequest';
111
+ import { UpdateCountPreferenceOfChannelByUrlResponse } from '../models/UpdateCountPreferenceOfChannelByUrlResponse';
112
+ import { UpdateExtraDataInAMessageRequest } from '../models/UpdateExtraDataInAMessageRequest';
113
+ import { UpdateExtraDataInAMessageResponse } from '../models/UpdateExtraDataInAMessageResponse';
114
+ import { UpdatePushPreferencesForAChannelRequest } from '../models/UpdatePushPreferencesForAChannelRequest';
115
+ import { UpdatePushPreferencesForAChannelResponse } from '../models/UpdatePushPreferencesForAChannelResponse';
116
+ import { UpdatePushPreferencesRequest } from '../models/UpdatePushPreferencesRequest';
117
+ import { UpdatePushPreferencesResponse } from '../models/UpdatePushPreferencesResponse';
118
+ import { ViewCountPreferenceOfAChannelResponse } from '../models/ViewCountPreferenceOfAChannelResponse';
119
+ import { ViewNumberOfChannelsWithUnreadMessagesResponse } from '../models/ViewNumberOfChannelsWithUnreadMessagesResponse';
120
+ import { ViewNumberOfDailyActiveUsersResponse } from '../models/ViewNumberOfDailyActiveUsersResponse';
121
+ import { ViewNumberOfMonthlyActiveUsersResponse } from '../models/ViewNumberOfMonthlyActiveUsersResponse';
122
+ import { ViewNumberOfUnreadMessagesResponse } from '../models/ViewNumberOfUnreadMessagesResponse';
123
+ import { ViewPushPreferencesForAChannelResponse } from '../models/ViewPushPreferencesForAChannelResponse';
124
+ import { ViewPushPreferencesResponse } from '../models/ViewPushPreferencesResponse';
125
+
126
+ import { AnnouncementApiRequestFactory, AnnouncementApiResponseProcessor} from "../apis/AnnouncementApi";
127
+ export class ObservableAnnouncementApi {
128
+ private requestFactory: AnnouncementApiRequestFactory;
129
+ private responseProcessor: AnnouncementApiResponseProcessor;
130
+ private configuration: Configuration;
131
+
132
+ public constructor(
133
+ configuration: Configuration,
134
+ requestFactory?: AnnouncementApiRequestFactory,
135
+ responseProcessor?: AnnouncementApiResponseProcessor
136
+ ) {
137
+ this.configuration = configuration;
138
+ this.requestFactory = requestFactory || new AnnouncementApiRequestFactory(configuration);
139
+ this.responseProcessor = responseProcessor || new AnnouncementApiResponseProcessor();
140
+ }
141
+
142
+ /**
143
+ * ## Schedule an announcement Creates an announcement. You can also schedule an announcement in the [Sendbird Dashboard](https://dashboard.sendbird.com). [https://sendbird.com/docs/chat/platform-api/v3/message/announcements/create-an-announcement#1-create-an-announcement](https://sendbird.com/docs/chat/platform-api/v3/message/announcements/create-an-announcement#1-create-an-announcement)
144
+ * Schedule an announcement
145
+ * @param apiToken
146
+ * @param scheduleAnAnnouncementRequest
147
+ */
148
+ public scheduleAnAnnouncement(apiToken?: string, scheduleAnAnnouncementRequest?: ScheduleAnAnnouncementRequest, _options?: Configuration): Observable<ScheduleAnAnnouncementResponse> {
149
+ const requestContextPromise = this.requestFactory.scheduleAnAnnouncement(apiToken, scheduleAnAnnouncementRequest, _options);
150
+
151
+ // build promise chain
152
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
153
+ for (let middleware of this.configuration.middleware) {
154
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
155
+ }
156
+
157
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
158
+ pipe(mergeMap((response: ResponseContext) => {
159
+ let middlewarePostObservable = of(response);
160
+ for (let middleware of this.configuration.middleware) {
161
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
162
+ }
163
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.scheduleAnAnnouncement(rsp)));
164
+ }));
165
+ }
166
+
167
+ }
168
+
169
+ import { BotApiRequestFactory, BotApiResponseProcessor} from "../apis/BotApi";
170
+ export class ObservableBotApi {
171
+ private requestFactory: BotApiRequestFactory;
172
+ private responseProcessor: BotApiResponseProcessor;
173
+ private configuration: Configuration;
174
+
175
+ public constructor(
176
+ configuration: Configuration,
177
+ requestFactory?: BotApiRequestFactory,
178
+ responseProcessor?: BotApiResponseProcessor
179
+ ) {
180
+ this.configuration = configuration;
181
+ this.requestFactory = requestFactory || new BotApiRequestFactory(configuration);
182
+ this.responseProcessor = responseProcessor || new BotApiResponseProcessor();
183
+ }
184
+
185
+ /**
186
+ * ## Create a bot Creates a new bot within an application. Creating a bot is similar to creating a normal user, except a callback URL should be specified for a bot to receive events. > **Note**: The bot must first [join a group channel](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels) to interact with users. In group channels, you can also invite a bot through the [invite as members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel) action. [https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot](https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot)
187
+ * Create a bot
188
+ * @param apiToken
189
+ * @param createABotRequest
190
+ */
191
+ public createABot(apiToken?: string, createABotRequest?: CreateABotRequest, _options?: Configuration): Observable<CreateABotResponse> {
192
+ const requestContextPromise = this.requestFactory.createABot(apiToken, createABotRequest, _options);
193
+
194
+ // build promise chain
195
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
196
+ for (let middleware of this.configuration.middleware) {
197
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
198
+ }
199
+
200
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
201
+ pipe(mergeMap((response: ResponseContext) => {
202
+ let middlewarePostObservable = of(response);
203
+ for (let middleware of this.configuration.middleware) {
204
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
205
+ }
206
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createABot(rsp)));
207
+ }));
208
+ }
209
+
210
+ /**
211
+ * ## Join channels Makes a bot join one or more group channels. [https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels#1-join-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels#1-join-channels)
212
+ * Join channels
213
+ * @param botUserid (Required)
214
+ * @param apiToken
215
+ * @param joinChannelsRequest
216
+ */
217
+ public joinChannels(botUserid: string, apiToken?: string, joinChannelsRequest?: JoinChannelsRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
218
+ const requestContextPromise = this.requestFactory.joinChannels(botUserid, apiToken, joinChannelsRequest, _options);
219
+
220
+ // build promise chain
221
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
222
+ for (let middleware of this.configuration.middleware) {
223
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
224
+ }
225
+
226
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
227
+ pipe(mergeMap((response: ResponseContext) => {
228
+ let middlewarePostObservable = of(response);
229
+ for (let middleware of this.configuration.middleware) {
230
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
231
+ }
232
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.joinChannels(rsp)));
233
+ }));
234
+ }
235
+
236
+ /**
237
+ * ## Leave channels Makes a bot leave a specific channel [https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels)
238
+ * Leave channels - When leaving a specific channel
239
+ * @param channelUrl
240
+ * @param botUserid (Required)
241
+ * @param apiToken
242
+ */
243
+ public leaveAGroupChannel(channelUrl: string, botUserid: string, apiToken?: string, _options?: Configuration): Observable<any> {
244
+ const requestContextPromise = this.requestFactory.leaveAGroupChannel(channelUrl, botUserid, apiToken, _options);
245
+
246
+ // build promise chain
247
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
248
+ for (let middleware of this.configuration.middleware) {
249
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
250
+ }
251
+
252
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
253
+ pipe(mergeMap((response: ResponseContext) => {
254
+ let middlewarePostObservable = of(response);
255
+ for (let middleware of this.configuration.middleware) {
256
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
257
+ }
258
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.leaveAGroupChannel(rsp)));
259
+ }));
260
+ }
261
+
262
+ /**
263
+ * ## Leave channels Makes a bot leave all group channels. [https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels)
264
+ * Leave channels - When leaving all channels
265
+ * @param botUserid (Required)
266
+ * @param apiToken
267
+ */
268
+ public leaveGroupChannels(botUserid: string, apiToken?: string, _options?: Configuration): Observable<any> {
269
+ const requestContextPromise = this.requestFactory.leaveGroupChannels(botUserid, apiToken, _options);
270
+
271
+ // build promise chain
272
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
273
+ for (let middleware of this.configuration.middleware) {
274
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
275
+ }
276
+
277
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
278
+ pipe(mergeMap((response: ResponseContext) => {
279
+ let middlewarePostObservable = of(response);
280
+ for (let middleware of this.configuration.middleware) {
281
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
282
+ }
283
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.leaveGroupChannels(rsp)));
284
+ }));
285
+ }
286
+
287
+ /**
288
+ * ## List bots Retrieves a list of all bots within an application. https://sendbird.com/docs/chat/platform-api/v3/bot/listing-bots/list-bots#1-list-bots
289
+ * List bots
290
+ * @param token
291
+ * @param limit
292
+ * @param apiToken
293
+ */
294
+ public listBots(token?: string, limit?: number, apiToken?: string, _options?: Configuration): Observable<ListBotsResponse> {
295
+ const requestContextPromise = this.requestFactory.listBots(token, limit, apiToken, _options);
296
+
297
+ // build promise chain
298
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
299
+ for (let middleware of this.configuration.middleware) {
300
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
301
+ }
302
+
303
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
304
+ pipe(mergeMap((response: ResponseContext) => {
305
+ let middlewarePostObservable = of(response);
306
+ for (let middleware of this.configuration.middleware) {
307
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
308
+ }
309
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listBots(rsp)));
310
+ }));
311
+ }
312
+
313
+ /**
314
+ * ## Send a bot message Sends a bot message to a group channel. [https://sendbird.com/docs/chat/platform-api/v3/bot/sending-a-bot-message/send-a-bot-message#1-send-a-bot-message](https://sendbird.com/docs/chat/platform-api/v3/bot/sending-a-bot-message/send-a-bot-message#1-send-a-bot-message) `bot_userid` Type: string Description: Specifies the ID of the bot to send a message.
315
+ * Send a bot's message
316
+ * @param botUserid (Required)
317
+ * @param apiToken
318
+ * @param sendABotMessageRequest
319
+ */
320
+ public sendABotMessage(botUserid: string, apiToken?: string, sendABotMessageRequest?: SendABotMessageRequest, _options?: Configuration): Observable<SendbirdMessageResponse> {
321
+ const requestContextPromise = this.requestFactory.sendABotMessage(botUserid, apiToken, sendABotMessageRequest, _options);
322
+
323
+ // build promise chain
324
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
325
+ for (let middleware of this.configuration.middleware) {
326
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
327
+ }
328
+
329
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
330
+ pipe(mergeMap((response: ResponseContext) => {
331
+ let middlewarePostObservable = of(response);
332
+ for (let middleware of this.configuration.middleware) {
333
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
334
+ }
335
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.sendABotMessage(rsp)));
336
+ }));
337
+ }
338
+
339
+ }
340
+
341
+ import { GroupChannelApiRequestFactory, GroupChannelApiResponseProcessor} from "../apis/GroupChannelApi";
342
+ export class ObservableGroupChannelApi {
343
+ private requestFactory: GroupChannelApiRequestFactory;
344
+ private responseProcessor: GroupChannelApiResponseProcessor;
345
+ private configuration: Configuration;
346
+
347
+ public constructor(
348
+ configuration: Configuration,
349
+ requestFactory?: GroupChannelApiRequestFactory,
350
+ responseProcessor?: GroupChannelApiResponseProcessor
351
+ ) {
352
+ this.configuration = configuration;
353
+ this.requestFactory = requestFactory || new GroupChannelApiRequestFactory(configuration);
354
+ this.responseProcessor = responseProcessor || new GroupChannelApiResponseProcessor();
355
+ }
356
+
357
+ /**
358
+ * ## Accept an invitation Accepts an invitation from a group channel for a user to join. A single user may join up to 2,000 group channels, and any invitation to a user who is at capacity will be automatically canceled. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. > **Note**: This action is only available when the `auto_accept` property of an application is set to **false**. You can change the value of the property using the [update default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference) action, or the [update channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference) action. [https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/accept-an-invitation-channel#1-accept-an-invitation](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/accept-an-invitation-channel#1-accept-an-invitation)
359
+ * Accept an invitation
360
+ * @param channelUrl (Required)
361
+ * @param apiToken
362
+ * @param acceptAnInvitationRequest
363
+ */
364
+ public acceptAnInvitation(channelUrl: string, apiToken?: string, acceptAnInvitationRequest?: AcceptAnInvitationRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
365
+ const requestContextPromise = this.requestFactory.acceptAnInvitation(channelUrl, apiToken, acceptAnInvitationRequest, _options);
366
+
367
+ // build promise chain
368
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
369
+ for (let middleware of this.configuration.middleware) {
370
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
371
+ }
372
+
373
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
374
+ pipe(mergeMap((response: ResponseContext) => {
375
+ let middlewarePostObservable = of(response);
376
+ for (let middleware of this.configuration.middleware) {
377
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
378
+ }
379
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.acceptAnInvitation(rsp)));
380
+ }));
381
+ }
382
+
383
+ /**
384
+ * ## Unregister operators from a group channel You can unregister operators in a group channel but keep them in the channel as members using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/unregister-operators-from-a-group-channel#1-unregister-operators-from-a-group-channel `channel_url` Type: string Description: Specifies the URL of the channel to cancel the registration of operators.
385
+ * Cancel the registration of operators
386
+ * @param channelUrl (Required)
387
+ * @param operatorIds Specifies an array of one or more operator IDs to unregister from the channel. The operators in this array remain as participants of the channel after losing their operational roles. Urlencoding each operator ID is recommended. An example of a Urlencoded array would be ?operator_ids&#x3D;urlencoded_id_1,urlencoded_id_2.
388
+ * @param deleteAll
389
+ * @param apiToken
390
+ */
391
+ public cancelTheRegistrationOfOperators(channelUrl: string, operatorIds: string, deleteAll?: boolean, apiToken?: string, _options?: Configuration): Observable<any> {
392
+ const requestContextPromise = this.requestFactory.cancelTheRegistrationOfOperators(channelUrl, operatorIds, deleteAll, apiToken, _options);
393
+
394
+ // build promise chain
395
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
396
+ for (let middleware of this.configuration.middleware) {
397
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
398
+ }
399
+
400
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
401
+ pipe(mergeMap((response: ResponseContext) => {
402
+ let middlewarePostObservable = of(response);
403
+ for (let middleware of this.configuration.middleware) {
404
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
405
+ }
406
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.cancelTheRegistrationOfOperators(rsp)));
407
+ }));
408
+ }
409
+
410
+ /**
411
+ * ## Check if user is a member Checks if a user is a member of a group channel. > **Note**: See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. [https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/check-if-user-is-a-member#1-check-if-user-is-a-member](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/check-if-user-is-a-member#1-check-if-user-is-a-member)
412
+ * Check if member
413
+ * @param channelUrl (Required)
414
+ * @param userId (Required)
415
+ * @param apiToken
416
+ */
417
+ public checkIfMember(channelUrl: string, userId: string, apiToken?: string, _options?: Configuration): Observable<CheckIfMemberResponse> {
418
+ const requestContextPromise = this.requestFactory.checkIfMember(channelUrl, userId, apiToken, _options);
419
+
420
+ // build promise chain
421
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
422
+ for (let middleware of this.configuration.middleware) {
423
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
424
+ }
425
+
426
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
427
+ pipe(mergeMap((response: ResponseContext) => {
428
+ let middlewarePostObservable = of(response);
429
+ for (let middleware of this.configuration.middleware) {
430
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
431
+ }
432
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.checkIfMember(rsp)));
433
+ }));
434
+ }
435
+
436
+ /**
437
+ * ## Create a group channel You can create a group channel for 1-to-1 and 1-to-N conversations. By default, group channels are used for conversations between up to 100 members. This number can stretch up to tens of thousands in Supergroup channels. Group channels can either be private and invite only, or public. They support typing indicators, unread count and read receipts, allowing for an interactive chat experience. A user can join up to 2000 group channels, and higher numbers would negatively impact the performance for the end user. The Chat history is turned off by default and its settings can be changed on Sendbird Dashboard by going to Settings > Chat > Channels > Group channels > Chat history. To learn more about group channels, see Channel Overview. > If you are seeing the error message Maximum \"channel join\" count reached., then consider deleting channels that are no longer used. For situations where an agent connects with many customers such as support, delivery logistics or sales, we recommend using Sendbird Desk. https://sendbird.com/docs/chat/platform-api/v3/channel/creating-a-channel/create-a-group-channel#1-create-a-group-channel
438
+ * Create a group channel
439
+ * @param apiToken
440
+ * @param createAGroupChannelRequest
441
+ */
442
+ public createAGroupChannel(apiToken?: string, createAGroupChannelRequest?: CreateAGroupChannelRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
443
+ const requestContextPromise = this.requestFactory.createAGroupChannel(apiToken, createAGroupChannelRequest, _options);
444
+
445
+ // build promise chain
446
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
447
+ for (let middleware of this.configuration.middleware) {
448
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
449
+ }
450
+
451
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
452
+ pipe(mergeMap((response: ResponseContext) => {
453
+ let middlewarePostObservable = of(response);
454
+ for (let middleware of this.configuration.middleware) {
455
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
456
+ }
457
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createAGroupChannel(rsp)));
458
+ }));
459
+ }
460
+
461
+ /**
462
+ * ## Delete a group channel You can delete a group channel or a Supergroup channel using this API. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-a-group-channel#1-delete-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-a-group-channel#1-delete-a-group-channel)
463
+ * Delete a group channel
464
+ * @param channelUrl
465
+ * @param apiToken
466
+ */
467
+ public deleteAGroupChannel(channelUrl: string, apiToken?: string, _options?: Configuration): Observable<any> {
468
+ const requestContextPromise = this.requestFactory.deleteAGroupChannel(channelUrl, apiToken, _options);
469
+
470
+ // build promise chain
471
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
472
+ for (let middleware of this.configuration.middleware) {
473
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
474
+ }
475
+
476
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
477
+ pipe(mergeMap((response: ResponseContext) => {
478
+ let middlewarePostObservable = of(response);
479
+ for (let middleware of this.configuration.middleware) {
480
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
481
+ }
482
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteAGroupChannel(rsp)));
483
+ }));
484
+ }
485
+
486
+ /**
487
+ * ## Get a group channel This action retrieves information about a specific [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel). You can use the optional query parameters to determine whether to include delivery receipt, read receipt, or member information in the response. https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-a-group-channel#1-get-a-group-channel `channel_url` Type: string Description: Specifies the URL of the channel to retrieve.
488
+ * Get a group channel
489
+ * @param channelUrl
490
+ * @param showDeliveryReceipt
491
+ * @param showReadReceipt
492
+ * @param showMember
493
+ * @param memberActiveMode Restricts the member list to members who are activated or deactivated in the channel. This parameter is only effective if the parameter show_member is true. Acceptable values are all, activated, and deactivated. (default: all)
494
+ * @param userId
495
+ * @param apiToken
496
+ */
497
+ public getAGroupChannel(channelUrl: string, showDeliveryReceipt?: boolean, showReadReceipt?: boolean, showMember?: boolean, memberActiveMode?: 'all' | 'activated' | 'deactivated', userId?: string, apiToken?: string, _options?: Configuration): Observable<GetAGroupChannelResponse> {
498
+ const requestContextPromise = this.requestFactory.getAGroupChannel(channelUrl, showDeliveryReceipt, showReadReceipt, showMember, memberActiveMode, userId, apiToken, _options);
499
+
500
+ // build promise chain
501
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
502
+ for (let middleware of this.configuration.middleware) {
503
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
504
+ }
505
+
506
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
507
+ pipe(mergeMap((response: ResponseContext) => {
508
+ let middlewarePostObservable = of(response);
509
+ for (let middleware of this.configuration.middleware) {
510
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
511
+ }
512
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getAGroupChannel(rsp)));
513
+ }));
514
+ }
515
+
516
+ /**
517
+ * ## Hide a channel This action allows you to hide a [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) from a user's channel list. Hiding a channel gives users the ability to archive channels so that they can focus on channels that need the most attention. With this API, you can allow users to hide a channel from themselves or from all channel members. You can also determine whether to have the channel remain hidden when a new message is sent to the channel. Note that only group channels can be hidden. [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/hide-a-channel#1-hide-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/hide-a-channel#1-hide-a-channel)
518
+ * Hide a channel
519
+ * @param channelUrl (Required)
520
+ * @param apiToken
521
+ * @param hideAChannelRequest
522
+ */
523
+ public hideAChannel(channelUrl: string, apiToken?: string, hideAChannelRequest?: HideAChannelRequest, _options?: Configuration): Observable<any> {
524
+ const requestContextPromise = this.requestFactory.hideAChannel(channelUrl, apiToken, hideAChannelRequest, _options);
525
+
526
+ // build promise chain
527
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
528
+ for (let middleware of this.configuration.middleware) {
529
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
530
+ }
531
+
532
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
533
+ pipe(mergeMap((response: ResponseContext) => {
534
+ let middlewarePostObservable = of(response);
535
+ for (let middleware of this.configuration.middleware) {
536
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
537
+ }
538
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.hideAChannel(rsp)));
539
+ }));
540
+ }
541
+
542
+ /**
543
+ * ## Invite as members Invites one or more users as members to a group channel. Users can join a group channel immediately after receiving an invitation, without having to accept it. To give users an option to accept or decline an invitation, see [update default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference) or [update channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference). See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. > **Note**: By default, [blocked users](https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users) are included when sending invitations. If you wish to exclude blocked users, [contact our sales team](https://get.sendbird.com/talk-to-sales.html). [https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel#1-invite-as-members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel#1-invite-as-members)
544
+ * Invite as members
545
+ * @param channelUrl (Required)
546
+ * @param apiToken
547
+ * @param inviteAsMembersRequest
548
+ */
549
+ public inviteAsMembers(channelUrl: string, apiToken?: string, inviteAsMembersRequest?: InviteAsMembersRequest, _options?: Configuration): Observable<InviteAsMembersResponse> {
550
+ const requestContextPromise = this.requestFactory.inviteAsMembers(channelUrl, apiToken, inviteAsMembersRequest, _options);
551
+
552
+ // build promise chain
553
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
554
+ for (let middleware of this.configuration.middleware) {
555
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
556
+ }
557
+
558
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
559
+ pipe(mergeMap((response: ResponseContext) => {
560
+ let middlewarePostObservable = of(response);
561
+ for (let middleware of this.configuration.middleware) {
562
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
563
+ }
564
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.inviteAsMembers(rsp)));
565
+ }));
566
+ }
567
+
568
+ /**
569
+ * ## Join a channel This API allows a user to join a [public](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-group-channel-types) group channel. Users can only join public group channels where the `is_public` property is set to `true` using this API. A single user can join up to 2,000 group channels, and a user who reaches the capacity can’t join a new channel. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/join-a-channel#1-join-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/join-a-channel#1-join-a-channel)
570
+ * Join a channel
571
+ * @param channelUrl (Required)
572
+ * @param apiToken
573
+ * @param joinAChannelRequest
574
+ */
575
+ public joinAChannel(channelUrl: string, apiToken?: string, joinAChannelRequest?: JoinAChannelRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
576
+ const requestContextPromise = this.requestFactory.joinAChannel(channelUrl, apiToken, joinAChannelRequest, _options);
577
+
578
+ // build promise chain
579
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
580
+ for (let middleware of this.configuration.middleware) {
581
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
582
+ }
583
+
584
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
585
+ pipe(mergeMap((response: ResponseContext) => {
586
+ let middlewarePostObservable = of(response);
587
+ for (let middleware of this.configuration.middleware) {
588
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
589
+ }
590
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.joinAChannel(rsp)));
591
+ }));
592
+ }
593
+
594
+ /**
595
+ * ## Leave a channel Makes one or more members leave a group channel. https://sendbird.com/docs/chat/v3/platform-api/guides/group-channel#2-leave-a-channel ----------------------------
596
+ * Leave a channel
597
+ * @param channelUrl
598
+ * @param apiToken
599
+ * @param leaveAChannelRequest
600
+ */
601
+ public leaveAChannel(channelUrl: string, apiToken?: string, leaveAChannelRequest?: LeaveAChannelRequest, _options?: Configuration): Observable<any> {
602
+ const requestContextPromise = this.requestFactory.leaveAChannel(channelUrl, apiToken, leaveAChannelRequest, _options);
603
+
604
+ // build promise chain
605
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
606
+ for (let middleware of this.configuration.middleware) {
607
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
608
+ }
609
+
610
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
611
+ pipe(mergeMap((response: ResponseContext) => {
612
+ let middlewarePostObservable = of(response);
613
+ for (let middleware of this.configuration.middleware) {
614
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
615
+ }
616
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.leaveAChannel(rsp)));
617
+ }));
618
+ }
619
+
620
+ /**
621
+ * ## List group channels This action retrieves a list of [group channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel). You can use various query parameters to determine the search scope and select what kind of information you want to receive about the queried channels. If you want to retrieve a list of group channels that a specific user has joined, use the [list group channels by user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/list-group-channels-by-user) action under the User section. https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-group-channels#1-list-group-channels
622
+ * List channels
623
+ * @param apiToken
624
+ * @param token Specifies a page token that indicates the starting index of a chunk of results. If not specified, the index is set as 0.
625
+ * @param limit Specifies the number of results to return per page. Acceptable values are 1 to 100, inclusive. (Default: 10)
626
+ * @param distinctMode
627
+ * @param publicMode
628
+ * @param superMode
629
+ * @param createdAfter Restricts the search scope to only retrieve group channels which have been created after the specified time, in Unix milliseconds format.
630
+ * @param createdBefore Restricts the search scope to only retrieve group channels which have been created before the specified time, in Unix milliseconds format.
631
+ * @param showEmpty
632
+ * @param showMember
633
+ * @param showDeliveryReceipt
634
+ * @param showReadReceipt
635
+ * @param showMetadata
636
+ * @param showFrozen
637
+ * @param order
638
+ * @param metadataOrderKey Specifies the key of an item in metadata. When a value of the order parameter is set to metadata_value_alphabetical, the results are alphabetically sorted by the value of the item specified by the key.
639
+ * @param customTypes Specifies a comma-separated string of one or more custom types to filter group channels. URL encoding each type is recommended. If not specified, all channels are returned, regardless of their custom type.
640
+ * @param customTypeStartswith Searches for group channels with the custom type which starts with the specified value. URL encoding the value is recommended.
641
+ * @param channelUrls Specifies a comma-separated string of one or more group channel URLs to restrict the search scope. URL encoding each channel URL is recommended.
642
+ * @param name Specifies one or more group channel names.
643
+ * @param nameContains Searches for group channels whose names contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended.
644
+ * @param nameStartswith Searches for group channels whose names start with the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended.
645
+ * @param membersExactlyIn Searches for group channels with all the specified users as members. The parameter value should consist of user IDs separated by commas. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended.
646
+ * @param membersIncludeIn Searches for group channels that include one or more users as members among the specified users. The value should consist of user IDs separated by commas or %2C. You can specify up to 60 user IDs. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended.
647
+ * @param queryType Specifies a logical condition applied to the members_include_in parameter. Acceptable values are either AND or OR. For example, if you specify three members, A, B, and C, in members_include_in, the value of AND returns all channels that include every one of {A. B, C} as members. The value of OR returns channels that include {A}, plus those that include {B}, plus those that include {C}. (Default: AND)
648
+ * @param membersNickname Searches for group channels with members whose nicknames match the specified value. URL encoding the value is recommended.
649
+ * @param membersNicknameContains Searches for group channels with members whose nicknames contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. * We recommend using at least three characters for the parameter value for better search efficiency when you design and implement related features. If you would like to allow one or two characters for searching, use members_nickname instead to prevent performance issues.
650
+ * @param metadataKey Searches for group channels with metadata containing an item with the specified value as its key. To use this parameter, either the metadata_values parameter or the metadata_value_startswith parameter should be specified.
651
+ * @param metadataValues Searches for group channels with metadata containing an item with the key specified by the metadata_key parameter, and the value of that item matches one or more values specified by this parameter. The string should be specified with multiple values separated by commas. URL encoding each value is recommended. To use this parameter, the metadata_key parameter should be specified.
652
+ * @param metadataValueStartswith Searches for group channels with metadata containing an item with the key specified by the metadata_key parameter, and the values of that item that start with the specified value of this parameter. URL encoding the value is recommended. To use this parameter, the metadata_key parameter should be specified.
653
+ * @param metacounterKey Searches for group channels with metacounter containing an item with the specified value as its key. To use this parameter, either the metacounter_values parameter or one of the metacounter_value_gt, metacounter_value_gte, metacounter_value_lt, and metacounter_value_lte parameters should be specified.
654
+ * @param metacounterValues Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is equal to one or more values specified by this parameter. The string should be specified with multiple values separated by commas. To use this parameter, the metacounter_key parameter should be specified.
655
+ * @param metacounterValueGt Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is greater than the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
656
+ * @param metacounterValueGte Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is greater than or equal to the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
657
+ * @param metacounterValueLt Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is lower than the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
658
+ * @param metacounterValueLte Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is lower than or equal to the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
659
+ * @param includeSortedMetaarrayInLastMessage Determines whether to include the sorted_metaarray as one of the last_message’s properties in the response.
660
+ */
661
+ public listChannels(apiToken: string, token?: string, limit?: number, distinctMode?: 'all' | 'distinct' | 'nondistinct', publicMode?: 'all' | 'private' | 'public', superMode?: 'all' | 'super' | 'nonsuper', createdAfter?: number, createdBefore?: number, showEmpty?: boolean, showMember?: boolean, showDeliveryReceipt?: boolean, showReadReceipt?: boolean, showMetadata?: boolean, showFrozen?: boolean, order?: 'chronological' | 'latest_last_message' | 'channel_name_alphabetical' | 'metadata_value_alphabetical', metadataOrderKey?: string, customTypes?: string, customTypeStartswith?: string, channelUrls?: string, name?: string, nameContains?: string, nameStartswith?: string, membersExactlyIn?: string, membersIncludeIn?: string, queryType?: string, membersNickname?: string, membersNicknameContains?: string, metadataKey?: string, metadataValues?: string, metadataValueStartswith?: string, metacounterKey?: string, metacounterValues?: string, metacounterValueGt?: string, metacounterValueGte?: string, metacounterValueLt?: string, metacounterValueLte?: string, includeSortedMetaarrayInLastMessage?: boolean, _options?: Configuration): Observable<GroupChatListChannelsResponse> {
662
+ const requestContextPromise = this.requestFactory.listChannels(apiToken, token, limit, distinctMode, publicMode, superMode, createdAfter, createdBefore, showEmpty, showMember, showDeliveryReceipt, showReadReceipt, showMetadata, showFrozen, order, metadataOrderKey, customTypes, customTypeStartswith, channelUrls, name, nameContains, nameStartswith, membersExactlyIn, membersIncludeIn, queryType, membersNickname, membersNicknameContains, metadataKey, metadataValues, metadataValueStartswith, metacounterKey, metacounterValues, metacounterValueGt, metacounterValueGte, metacounterValueLt, metacounterValueLte, includeSortedMetaarrayInLastMessage, _options);
663
+
664
+ // build promise chain
665
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
666
+ for (let middleware of this.configuration.middleware) {
667
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
668
+ }
669
+
670
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
671
+ pipe(mergeMap((response: ResponseContext) => {
672
+ let middlewarePostObservable = of(response);
673
+ for (let middleware of this.configuration.middleware) {
674
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
675
+ }
676
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listChannels(rsp)));
677
+ }));
678
+ }
679
+
680
+ /**
681
+ * ## List members Retrieves a list of members of a group channel. > **Note**: See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. [https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/list-members-of-a-group-channel#1-list-members-of-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/list-members-of-a-group-channel#1-list-members-of-a-group-channel) `channel_url` Type: string Description: Specifies the URL of the channel to retrieve a list of members of.
682
+ * List members
683
+ * @param channelUrl (Required)
684
+ * @param token
685
+ * @param limit Specifies the number of results to return per page. Acceptable values are 1 to 100, inclusive. (Default: 10)
686
+ * @param userId Specifies the unique ID of a user. If &#x60;user_id&#x60; is provided, the response will include two additional boolean properties about each user in the members list. - &#x60;is_blocking_me&#x60;: Indicates whether the listed user is blocking the user specified in the user_id parameter. - &#x60;is_blocked_by_me&#x60;: Indicates whether the listed user is blocked by the user specified in the user_id parameter.
687
+ * @param showDeliveryReceipt
688
+ * @param showReadReceipt
689
+ * @param showMemberIsMuted
690
+ * @param order Specifies the method to sort a list of results. Acceptable values are the following: - &#x60;member_nickname_alphabetical&#x60; (default): sorts by the member nicknames in alphabetical order. - &#x60;operator_then_member_alphabetical&#x60;: sorts by the operational role and member nickname in alphabetical order where channel operators are listed before channel members.
691
+ * @param operatorFilter Restricts the search scope to only retrieve operators or non-operator members of the channel. Acceptable values are the following: - &#x60;all&#x60; (default): no filter is applied to the list. - &#x60;operator&#x60;: only channel operators are retrieved. - &#x60;nonoperator&#x60;: all channel members, except channel operators, are retrieved.
692
+ * @param memberStateFilter Restricts the search scope to retrieve members based on if they have accepted an invitation or if they were invited by a friend. Acceptable values are &#x60;invited_only&#x60;, &#x60;joined_only&#x60;, &#x60;invited_by_friend&#x60;, &#x60;invited_by_non_friend&#x60;, and &#x60;all&#x60;. (Default: &#x60;all&#x60;)
693
+ * @param mutedMemberFilter Restricts the search scope to retrieve members who are muted or unmuted in the channel. Acceptable values are &#x60;all&#x60;, &#x60;muted&#x60;, and &#x60;unmuted&#x60;. (Default: &#x60;all&#x60;)
694
+ * @param memberActiveModeFilter Restricts the search scope to retrieve members who are activated or deactivated in the channel. Acceptable values are &#x60;all&#x60;, &#x60;activated&#x60;, and &#x60;deactivated&#x60;. (default: &#x60;activated&#x60;)
695
+ * @param nicknameStartswith Searches for members whose nicknames start with the specified value. Urlencoding the value is recommended.
696
+ * @param includePushPreference Determines whether to include information about the push preference of each member, such as &#x60;push_enabled&#x60;, &#x60;push_trigger_option&#x60;, and &#x60;do_not_disturb&#x60;. (Default: &#x60;false&#x60;)
697
+ * @param apiToken
698
+ */
699
+ public listMembers(channelUrl: string, token?: string, limit?: number, userId?: string, showDeliveryReceipt?: boolean, showReadReceipt?: boolean, showMemberIsMuted?: boolean, order?: 'member_nickname_alphabetical' | 'operator_then_member_alphabetical', operatorFilter?: 'all' | 'operator' | 'nonoperator', memberStateFilter?: 'all' | 'invited_only' | 'joined_only' | 'invited_by_friend' | 'invited_by_non_friend', mutedMemberFilter?: 'all' | 'muted' | 'unmuted', memberActiveModeFilter?: 'activated' | 'deactivated', nicknameStartswith?: string, includePushPreference?: boolean, apiToken?: string, _options?: Configuration): Observable<GroupChannelListMembersResponse> {
700
+ const requestContextPromise = this.requestFactory.listMembers(channelUrl, token, limit, userId, showDeliveryReceipt, showReadReceipt, showMemberIsMuted, order, operatorFilter, memberStateFilter, mutedMemberFilter, memberActiveModeFilter, nicknameStartswith, includePushPreference, apiToken, _options);
701
+
702
+ // build promise chain
703
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
704
+ for (let middleware of this.configuration.middleware) {
705
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
706
+ }
707
+
708
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
709
+ pipe(mergeMap((response: ResponseContext) => {
710
+ let middlewarePostObservable = of(response);
711
+ for (let middleware of this.configuration.middleware) {
712
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
713
+ }
714
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listMembers(rsp)));
715
+ }));
716
+ }
717
+
718
+ /**
719
+ * ## List operators You can retrieve a list of operators of a group channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/list-operators-of-a-group-channel#1-list-operators-of-a-group-channel `channel_url` Type: string Description: Specifies the URL of the channel to retrieve a list of operators.
720
+ * List operators
721
+ * @param channelUrl (Required)
722
+ * @param token
723
+ * @param limit Specifies the number of results to return per page. Acceptable values are 1 to 100, inclusive. (Default: 10)
724
+ * @param apiToken
725
+ */
726
+ public listOperators(channelUrl: string, token?: string, limit?: number, apiToken?: string, _options?: Configuration): Observable<ListOperatorsResponse> {
727
+ const requestContextPromise = this.requestFactory.listOperators(channelUrl, token, limit, apiToken, _options);
728
+
729
+ // build promise chain
730
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
731
+ for (let middleware of this.configuration.middleware) {
732
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
733
+ }
734
+
735
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
736
+ pipe(mergeMap((response: ResponseContext) => {
737
+ let middlewarePostObservable = of(response);
738
+ for (let middleware of this.configuration.middleware) {
739
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
740
+ }
741
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listOperators(rsp)));
742
+ }));
743
+ }
744
+
745
+ /**
746
+ * ## Register operators to a group channel You can register one or more operators to a group channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/register-operators-to-a-group-channel#1-register-operators-to-a-group-channel
747
+ * Register operators to a group channel
748
+ * @param channelUrl (Required)
749
+ * @param apiToken
750
+ * @param registerOperatorsToAGroupChannelRequest
751
+ */
752
+ public registerOperatorsToAGroupChannel(channelUrl: string, apiToken?: string, registerOperatorsToAGroupChannelRequest?: RegisterOperatorsToAGroupChannelRequest, _options?: Configuration): Observable<any> {
753
+ const requestContextPromise = this.requestFactory.registerOperatorsToAGroupChannel(channelUrl, apiToken, registerOperatorsToAGroupChannelRequest, _options);
754
+
755
+ // build promise chain
756
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
757
+ for (let middleware of this.configuration.middleware) {
758
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
759
+ }
760
+
761
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
762
+ pipe(mergeMap((response: ResponseContext) => {
763
+ let middlewarePostObservable = of(response);
764
+ for (let middleware of this.configuration.middleware) {
765
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
766
+ }
767
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.registerOperatorsToAGroupChannel(rsp)));
768
+ }));
769
+ }
770
+
771
+ /**
772
+ * ## Reset chat history This action resets the properties related to a specific user's chat history in a [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel), clearing existing messages in a channel from only the specified user's end. Because this action doesn't delete messages from the Sendbird database, other members in the channel can still retrieve and see the messages. This action clears the messages for the specified user by updating the `last_message` and `read_receipt` properties of the [group channel resource](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-list-of-properties-for-group-channels) in addition to other internally managed data such as the count of a user's unread messages. Using the `reset_all` property, you can also reset the properties related to the chat history of all members in a group channel. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/reset-chat-history#1-reset-chat-history
773
+ * Reset chat history
774
+ * @param channelUrl (Required)
775
+ * @param apiToken
776
+ * @param resetChatHistoryRequest
777
+ */
778
+ public resetChatHistory(channelUrl: string, apiToken?: string, resetChatHistoryRequest?: ResetChatHistoryRequest, _options?: Configuration): Observable<ResetChatHistoryResponse> {
779
+ const requestContextPromise = this.requestFactory.resetChatHistory(channelUrl, apiToken, resetChatHistoryRequest, _options);
780
+
781
+ // build promise chain
782
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
783
+ for (let middleware of this.configuration.middleware) {
784
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
785
+ }
786
+
787
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
788
+ pipe(mergeMap((response: ResponseContext) => {
789
+ let middlewarePostObservable = of(response);
790
+ for (let middleware of this.configuration.middleware) {
791
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
792
+ }
793
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.resetChatHistory(rsp)));
794
+ }));
795
+ }
796
+
797
+ /**
798
+ * ## Start typing indicators You can start showing a typing indicator using this API. Seeing whether other users are typing can help a more interactive conversation environment by showing real-time engagement of other users. If you're looking for an easy way to show typing indicators on your app, check out Sendbird UIKit for a ready-to-use UI feature that can be customized to fit your needs. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-typing-indicators/start-typing-indicators#1-start-typing-indicators `channel_url` Type: string Description: Specifies the URL of the channel to set typing indicators.
799
+ * Start typing indicators
800
+ * @param channelUrl (Required)
801
+ * @param apiToken
802
+ * @param startTypingIndicatorsRequest
803
+ */
804
+ public startTypingIndicators(channelUrl: string, apiToken?: string, startTypingIndicatorsRequest?: StartTypingIndicatorsRequest, _options?: Configuration): Observable<any> {
805
+ const requestContextPromise = this.requestFactory.startTypingIndicators(channelUrl, apiToken, startTypingIndicatorsRequest, _options);
806
+
807
+ // build promise chain
808
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
809
+ for (let middleware of this.configuration.middleware) {
810
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
811
+ }
812
+
813
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
814
+ pipe(mergeMap((response: ResponseContext) => {
815
+ let middlewarePostObservable = of(response);
816
+ for (let middleware of this.configuration.middleware) {
817
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
818
+ }
819
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.startTypingIndicators(rsp)));
820
+ }));
821
+ }
822
+
823
+ /**
824
+ * ## Stop typing indicators You can stop showing a typing indicator using this API. To signal that a user is no longer typing, you can let the indicator disappear when the user sends a message or completely deletes the message text. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-typing-indicators/stop-typing-indicators#1-stop-typing-indicators `channel_url` Type: string Description: Specifies the URL of the channel to set typing indicators.
825
+ * Stop typing indicators
826
+ * @param channelUrl (Required)
827
+ * @param apiToken
828
+ * @param startTypingIndicatorsRequest
829
+ */
830
+ public stopTypingIndicators(channelUrl: string, apiToken?: string, startTypingIndicatorsRequest?: StartTypingIndicatorsRequest, _options?: Configuration): Observable<any> {
831
+ const requestContextPromise = this.requestFactory.stopTypingIndicators(channelUrl, apiToken, startTypingIndicatorsRequest, _options);
832
+
833
+ // build promise chain
834
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
835
+ for (let middleware of this.configuration.middleware) {
836
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
837
+ }
838
+
839
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
840
+ pipe(mergeMap((response: ResponseContext) => {
841
+ let middlewarePostObservable = of(response);
842
+ for (let middleware of this.configuration.middleware) {
843
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
844
+ }
845
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.stopTypingIndicators(rsp)));
846
+ }));
847
+ }
848
+
849
+ /**
850
+ * ## Unhide a channel This action lets a hidden [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) reappear on the channel list of a specific user or every member in the group channel. Hiding or unhiding a channel lets users organize their channel list based on those that require the most attention. Note that only group channels can be hidden or unhidden. [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/unhide-a-channel#1-unhide-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/unhide-a-channel#1-unhide-a-channel) `channel_url` Type: string Description: Specifies the URL of the channel to unhide or unarchive.
851
+ * Unhide a channel
852
+ * @param channelUrl (Required)
853
+ * @param userId (Required)
854
+ * @param shouldUnhideAll
855
+ * @param apiToken
856
+ */
857
+ public unhideAChannel(channelUrl: string, userId: string, shouldUnhideAll?: boolean, apiToken?: string, _options?: Configuration): Observable<any> {
858
+ const requestContextPromise = this.requestFactory.unhideAChannel(channelUrl, userId, shouldUnhideAll, apiToken, _options);
859
+
860
+ // build promise chain
861
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
862
+ for (let middleware of this.configuration.middleware) {
863
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
864
+ }
865
+
866
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
867
+ pipe(mergeMap((response: ResponseContext) => {
868
+ let middlewarePostObservable = of(response);
869
+ for (let middleware of this.configuration.middleware) {
870
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
871
+ }
872
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.unhideAChannel(rsp)));
873
+ }));
874
+ }
875
+
876
+ /**
877
+ * ## Update a group channel You can update information about a group channel or a Supergroup channel using this API. You can't make any changes to the members of a channel with this API. To change members, see [invite as members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel) instead. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-a-group-channel#1-update-a-group-channel
878
+ * Update a group channel
879
+ * @param channelUrl
880
+ * @param apiToken
881
+ * @param updateAGroupChannelRequest
882
+ */
883
+ public updateAGroupChannel(channelUrl: string, apiToken?: string, updateAGroupChannelRequest?: UpdateAGroupChannelRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
884
+ const requestContextPromise = this.requestFactory.updateAGroupChannel(channelUrl, apiToken, updateAGroupChannelRequest, _options);
885
+
886
+ // build promise chain
887
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
888
+ for (let middleware of this.configuration.middleware) {
889
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
890
+ }
891
+
892
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
893
+ pipe(mergeMap((response: ResponseContext) => {
894
+ let middlewarePostObservable = of(response);
895
+ for (let middleware of this.configuration.middleware) {
896
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
897
+ }
898
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateAGroupChannel(rsp)));
899
+ }));
900
+ }
901
+
902
+ }
903
+
904
+ import { MessageApiRequestFactory, MessageApiResponseProcessor} from "../apis/MessageApi";
905
+ export class ObservableMessageApi {
906
+ private requestFactory: MessageApiRequestFactory;
907
+ private responseProcessor: MessageApiResponseProcessor;
908
+ private configuration: Configuration;
909
+
910
+ public constructor(
911
+ configuration: Configuration,
912
+ requestFactory?: MessageApiRequestFactory,
913
+ responseProcessor?: MessageApiResponseProcessor
914
+ ) {
915
+ this.configuration = configuration;
916
+ this.requestFactory = requestFactory || new MessageApiRequestFactory(configuration);
917
+ this.responseProcessor = responseProcessor || new MessageApiResponseProcessor();
918
+ }
919
+
920
+ /**
921
+ * ## Add extra data to a message Adds one or more key-values items which store additional information for a message. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-add-metadata#1-add-metadata ----------------------------
922
+ * Add extra data to a message
923
+ * @param channelType (Required)
924
+ * @param channelUrl (Required)
925
+ * @param messageId (Required)
926
+ * @param apiToken
927
+ * @param addExtraDataToAMessageRequest
928
+ */
929
+ public addExtraDataToAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, apiToken?: string, addExtraDataToAMessageRequest?: AddExtraDataToAMessageRequest, _options?: Configuration): Observable<AddExtraDataToAMessageResponse> {
930
+ const requestContextPromise = this.requestFactory.addExtraDataToAMessage(channelType, channelUrl, messageId, apiToken, addExtraDataToAMessageRequest, _options);
931
+
932
+ // build promise chain
933
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
934
+ for (let middleware of this.configuration.middleware) {
935
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
936
+ }
937
+
938
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
939
+ pipe(mergeMap((response: ResponseContext) => {
940
+ let middlewarePostObservable = of(response);
941
+ for (let middleware of this.configuration.middleware) {
942
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
943
+ }
944
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.addExtraDataToAMessage(rsp)));
945
+ }));
946
+ }
947
+
948
+ /**
949
+ * ## Delete a message Deletes a message from a channel. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/delete-a-message#1-delete-a-message ----------------------------
950
+ * Delete a message
951
+ * @param channelType (Required)
952
+ * @param channelUrl (Required)
953
+ * @param messageId (Required)
954
+ * @param apiToken
955
+ */
956
+ public deleteAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, apiToken?: string, _options?: Configuration): Observable<any> {
957
+ const requestContextPromise = this.requestFactory.deleteAMessage(channelType, channelUrl, messageId, apiToken, _options);
958
+
959
+ // build promise chain
960
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
961
+ for (let middleware of this.configuration.middleware) {
962
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
963
+ }
964
+
965
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
966
+ pipe(mergeMap((response: ResponseContext) => {
967
+ let middlewarePostObservable = of(response);
968
+ for (let middleware of this.configuration.middleware) {
969
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
970
+ }
971
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteAMessage(rsp)));
972
+ }));
973
+ }
974
+
975
+ /**
976
+ * ## Get a message Retrieves information on a specific message. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/get-a-message#1-get-a-message ---------------------------- `channel_type` Type: string Description: Specifies the type of the channel. Either open_channels or group_channels. `channel_url` Type: string Description: Specifies the URL of the target channel. `message_id` Type: long Description: Specifies the unique ID of the message to retrieve.
977
+ * Get a message
978
+ * @param channelType (Required)
979
+ * @param channelUrl (Required)
980
+ * @param messageId (Required)
981
+ * @param includeReactions
982
+ * @param includeThreadInfo
983
+ * @param includeParentMessageInfo
984
+ * @param includePollDetails Determines whether to include all properties of a poll resource with a full list of options in the results. If set to false, a selection of poll resource properties consisting of id, title, close_at, created_at, updated_at, status, and message_id are returned. (Default: false) * To use this property, the polls feature should be turned on in Settings &gt; Chat &gt; Features on Sendbird Dashboard.
985
+ * @param withSortedMetaArray
986
+ * @param apiToken
987
+ */
988
+ public getAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, includeReactions?: boolean, includeThreadInfo?: boolean, includeParentMessageInfo?: boolean, includePollDetails?: boolean, withSortedMetaArray?: boolean, apiToken?: string, _options?: Configuration): Observable<SendbirdMessageResponse> {
989
+ const requestContextPromise = this.requestFactory.getAMessage(channelType, channelUrl, messageId, includeReactions, includeThreadInfo, includeParentMessageInfo, includePollDetails, withSortedMetaArray, apiToken, _options);
990
+
991
+ // build promise chain
992
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
993
+ for (let middleware of this.configuration.middleware) {
994
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
995
+ }
996
+
997
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
998
+ pipe(mergeMap((response: ResponseContext) => {
999
+ let middlewarePostObservable = of(response);
1000
+ for (let middleware of this.configuration.middleware) {
1001
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1002
+ }
1003
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getAMessage(rsp)));
1004
+ }));
1005
+ }
1006
+
1007
+ /**
1008
+ * ## Get total number of messages in a channel Retrieves the total number of messages in a specific channel. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/get-total-number-of-messages-in-a-channel#1-get-total-number-of-messages-in-a-channel ----------------------------
1009
+ * Get total number of messages in a channel
1010
+ * @param channelType (Required)
1011
+ * @param channelUrl (Required)
1012
+ * @param apiToken
1013
+ */
1014
+ public getTotalNumberOfMessagesInAChannel(channelType: 'open_channels' | 'group_channels', channelUrl: string, apiToken?: string, _options?: Configuration): Observable<GetTotalNumberOfMessagesInAChannelResponse> {
1015
+ const requestContextPromise = this.requestFactory.getTotalNumberOfMessagesInAChannel(channelType, channelUrl, apiToken, _options);
1016
+
1017
+ // build promise chain
1018
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1019
+ for (let middleware of this.configuration.middleware) {
1020
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1021
+ }
1022
+
1023
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1024
+ pipe(mergeMap((response: ResponseContext) => {
1025
+ let middlewarePostObservable = of(response);
1026
+ for (let middleware of this.configuration.middleware) {
1027
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1028
+ }
1029
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getTotalNumberOfMessagesInAChannel(rsp)));
1030
+ }));
1031
+ }
1032
+
1033
+ /**
1034
+ * ## List messages You can retrieve a list of past messages of a specific channel with this API. By default, this action returns a list of messages in the order they were created. Replies in threaded messages are also listed in the chronological order of their creation like other messages, not grouped with their parent messages. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/list-messages#1-list-messages `channel_type` Type: string Description: Specifies the type of the channel. Either open_channels or group_channels. `channel_url` Type: string Description: Specifies the URL of the channel to retrieve a list of past messages.
1035
+ * List messages
1036
+ * @param channelType (Required)
1037
+ * @param channelUrl (Required)
1038
+ * @param messageTs Specifies the timestamp to be the reference point of the query in Unix milliseconds. Either this or the message_id parameter below should be specified in your query URL to retrieve a list. It fetches messages that were sent prior to and after the specified message_ts and the default value for both prev_limit and next_limit is 15.
1039
+ * @param messageId Specifies the unique ID of the message to be the reference point of the query. Either this or the message_ts parameter above should be specified in your query URL to retrieve a list. It fetches messages that were sent prior to and after the specified message_id and the default value for both prev_limit and next_limit is 15.
1040
+ * @param prevLimit Specifies the number of previously sent messages to retrieve before message_ts. For example, if message_ts&#x3D;1484202848298, then prev_limit&#x3D;50 returns 50 messages sent by 1484202848297 (message_ts - 1). Acceptable values range from 0 to 200. (Default: 15)
1041
+ * @param nextLimit Specifies the number of sent messages to retrieve after message_ts. For example, if message_ts&#x3D;1484202848298, then next_limit&#x3D;50 returns 50 messages sent from 1484202848299 (message_ts + 1). Acceptable values range from 0 to 200. (Default: 15)
1042
+ * @param include Determines whether to include messages sent exactly on the specified message_ts in the results. (Default: true)
1043
+ * @param reverse Determines whether to sort the results in reverse chronological order. If set to true, messages appear in reverse chronological order where the newest comes first and the oldest last. (Default: false)
1044
+ * @param senderId Restricts the search scope to only retrieve messages sent by the user with the specified ID.
1045
+ * @param senderIds Restricts the search scope to only retrieve messages sent by one or more users with the specified IDs listed in a comma-separated string.
1046
+ * @param operatorFilter
1047
+ * @param customTypes Specifies a comma-separated string of one or more custom message types to retrieve. The value set to this parameter can serve as a filter as follows: - A string of specific custom types: Messages with the corresponding custom types are returned. - Empty like &amp;custom_types&#x3D;&amp;...: Messages whose custom_type property is empty or has a value of null are returned. - An asterisk (\\*) (default): All messages are returned regardless of their custom_type.
1048
+ * @param messageType
1049
+ * @param includingRemoved
1050
+ * @param includeReactions
1051
+ * @param includeReplyType One of following values: NONE, ALL, ONLY_REPLY_TO_CHANNEL
1052
+ * @param includeParentMessageInfo
1053
+ * @param includeThreadInfo
1054
+ * @param includePollDetails Determines whether to include all properties of a poll resource with a full list of options in the results. If set to false, a selection of poll resource properties consisting of id, title, close_at, created_at, updated_at, status, and message_id are returned. (Default: false) * To use this property, the polls feature should be turned on in Settings &gt; Chat &gt; Features on Sendbird Dashboard.
1055
+ * @param withSortedMetaArray Determines whether to include the sorted_metaarray property in the response. (Default: false)
1056
+ * @param showSubchannelMessagesOnly
1057
+ * @param userId
1058
+ * @param apiToken
1059
+ */
1060
+ public listMessages(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageTs: number, messageId: number, prevLimit?: number, nextLimit?: number, include?: boolean, reverse?: boolean, senderId?: string, senderIds?: string, operatorFilter?: 'all' | 'operator' | 'nonoperator', customTypes?: string, messageType?: 'MESG' | 'FILE' | 'ADMM', includingRemoved?: boolean, includeReactions?: boolean, includeReplyType?: 'NONE' | 'ALL' | 'ONLY_REPLY_TO_CHANNEL', includeParentMessageInfo?: boolean, includeThreadInfo?: boolean, includePollDetails?: boolean, withSortedMetaArray?: boolean, showSubchannelMessagesOnly?: boolean, userId?: string, apiToken?: string, _options?: Configuration): Observable<ListMessagesResponse> {
1061
+ const requestContextPromise = this.requestFactory.listMessages(channelType, channelUrl, messageTs, messageId, prevLimit, nextLimit, include, reverse, senderId, senderIds, operatorFilter, customTypes, messageType, includingRemoved, includeReactions, includeReplyType, includeParentMessageInfo, includeThreadInfo, includePollDetails, withSortedMetaArray, showSubchannelMessagesOnly, userId, apiToken, _options);
1062
+
1063
+ // build promise chain
1064
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1065
+ for (let middleware of this.configuration.middleware) {
1066
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1067
+ }
1068
+
1069
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1070
+ pipe(mergeMap((response: ResponseContext) => {
1071
+ let middlewarePostObservable = of(response);
1072
+ for (let middleware of this.configuration.middleware) {
1073
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1074
+ }
1075
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listMessages(rsp)));
1076
+ }));
1077
+ }
1078
+
1079
+ /**
1080
+ * ## Mark all messages as read Marks all messages in a group channel as read for a specific user. This action is only applicable for users in a group channel. https://sendbird.com/docs/chat/platform-api/v3/message/read-receipts/mark-all-messages-as-read-message#1-mark-all-messages-as-read
1081
+ * Mark all messages as read
1082
+ * @param channelUrl (Required)
1083
+ * @param apiToken
1084
+ * @param markChannelMessagesAsReadRequest
1085
+ */
1086
+ public markChannelMessagesAsRead(channelUrl: string, apiToken?: string, markChannelMessagesAsReadRequest?: MarkChannelMessagesAsReadRequest, _options?: Configuration): Observable<any> {
1087
+ const requestContextPromise = this.requestFactory.markChannelMessagesAsRead(channelUrl, apiToken, markChannelMessagesAsReadRequest, _options);
1088
+
1089
+ // build promise chain
1090
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1091
+ for (let middleware of this.configuration.middleware) {
1092
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1093
+ }
1094
+
1095
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1096
+ pipe(mergeMap((response: ResponseContext) => {
1097
+ let middlewarePostObservable = of(response);
1098
+ for (let middleware of this.configuration.middleware) {
1099
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1100
+ }
1101
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.markChannelMessagesAsRead(rsp)));
1102
+ }));
1103
+ }
1104
+
1105
+ /**
1106
+ * ## Migrate messages Using our migration API, you can migrate the messages from another system into a Sendbird system's [channel](https://sendbird.com/docs/chat/v3/platform-api/guides/channel-types) which consists of users, messages, and other chat-related data. > To turn on this feature, [contact our support team](https://dashboard.sendbird.com/settings/contact_us). There are three things to do in advance before the migration. Follow the instructions below: 1. Register the users of your current chat solution to your Sendbird application. You can migrate the users into the Sendbird system using the [user creation API](https://sendbird.com/docs/chat/v3/platform-api/guides/user#2-create-a-user). 2. Create either an [open](https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel) or a [group](https://sendbird.com/docs/chat/v3/platform-api/guides/group-channel#2-create-a-channel) channel to migrate the messages of your chat solution. The Sendbird system doesn't create a channel for your migration automatically. 3. The maximum number of migrated messages per call is 100. To avoid the failure during your migration, you must adjust the number of messages to process at once via the API. https://sendbird.com/docs/chat/platform-api/v3/message/migration/migrate-messages#1-migrate-messages
1107
+ * Migrate messages
1108
+ * @param targetChannelUrl (Required)
1109
+ * @param apiToken
1110
+ * @param migrateMessagesRequest
1111
+ */
1112
+ public migrateMessages(targetChannelUrl: string, apiToken?: string, migrateMessagesRequest?: MigrateMessagesRequest, _options?: Configuration): Observable<any> {
1113
+ const requestContextPromise = this.requestFactory.migrateMessages(targetChannelUrl, apiToken, migrateMessagesRequest, _options);
1114
+
1115
+ // build promise chain
1116
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1117
+ for (let middleware of this.configuration.middleware) {
1118
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1119
+ }
1120
+
1121
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1122
+ pipe(mergeMap((response: ResponseContext) => {
1123
+ let middlewarePostObservable = of(response);
1124
+ for (let middleware of this.configuration.middleware) {
1125
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1126
+ }
1127
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.migrateMessages(rsp)));
1128
+ }));
1129
+ }
1130
+
1131
+ /**
1132
+ * ## Remove extra data from a message Removes specific items from a message by their keys. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-remove-metadata#1-remove-metadata ----------------------------
1133
+ * Remove extra data from a message
1134
+ * @param channelType (Required)
1135
+ * @param channelUrl (Required)
1136
+ * @param messageId (Required)
1137
+ * @param keys
1138
+ * @param apiToken
1139
+ */
1140
+ public removeExtraDataFromAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, keys?: string, apiToken?: string, _options?: Configuration): Observable<any> {
1141
+ const requestContextPromise = this.requestFactory.removeExtraDataFromAMessage(channelType, channelUrl, messageId, keys, apiToken, _options);
1142
+
1143
+ // build promise chain
1144
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1145
+ for (let middleware of this.configuration.middleware) {
1146
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1147
+ }
1148
+
1149
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1150
+ pipe(mergeMap((response: ResponseContext) => {
1151
+ let middlewarePostObservable = of(response);
1152
+ for (let middleware of this.configuration.middleware) {
1153
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1154
+ }
1155
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.removeExtraDataFromAMessage(rsp)));
1156
+ }));
1157
+ }
1158
+
1159
+ /**
1160
+ * ## Send a message You can use this action to send a text message, a file message, or an admin message to a specific channel. Sendbird Chat SDKs and the platform API allows you to upload any type of files in messages to the Sendbird server. See [Message Overview](https://sendbird.com/docs/chat/platform-api/v3/message/message-overview) for more information on each message type. Messages are sent between client devices running the Sendbird Chat SDK or UIKit as well as programmatically from businesses to their customers. For instance, a delivery app can automatically send a message like \"Arriving in one minute!\" on behalf of a delivery driver. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/send-a-message#1-send-a-message ----------------------------
1161
+ * Send a message
1162
+ * @param channelType (Required)
1163
+ * @param channelUrl (Required)
1164
+ * @param apiToken
1165
+ * @param sendAMessageRequest
1166
+ */
1167
+ public sendAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, apiToken?: string, sendAMessageRequest?: SendAMessageRequest, _options?: Configuration): Observable<SendbirdMessageResponse> {
1168
+ const requestContextPromise = this.requestFactory.sendAMessage(channelType, channelUrl, apiToken, sendAMessageRequest, _options);
1169
+
1170
+ // build promise chain
1171
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1172
+ for (let middleware of this.configuration.middleware) {
1173
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1174
+ }
1175
+
1176
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1177
+ pipe(mergeMap((response: ResponseContext) => {
1178
+ let middlewarePostObservable = of(response);
1179
+ for (let middleware of this.configuration.middleware) {
1180
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1181
+ }
1182
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.sendAMessage(rsp)));
1183
+ }));
1184
+ }
1185
+
1186
+ /**
1187
+ * ## Update a message Updates specific information on a message. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/update-a-message#1-update-a-message ----------------------------
1188
+ * Update a message
1189
+ * @param channelType (Required)
1190
+ * @param channelUrl (Required)
1191
+ * @param messageId (Required)
1192
+ * @param apiToken
1193
+ * @param updateAMessageRequest
1194
+ */
1195
+ public updateAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, apiToken?: string, updateAMessageRequest?: UpdateAMessageRequest, _options?: Configuration): Observable<SendbirdMessageResponse> {
1196
+ const requestContextPromise = this.requestFactory.updateAMessage(channelType, channelUrl, messageId, apiToken, updateAMessageRequest, _options);
1197
+
1198
+ // build promise chain
1199
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1200
+ for (let middleware of this.configuration.middleware) {
1201
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1202
+ }
1203
+
1204
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1205
+ pipe(mergeMap((response: ResponseContext) => {
1206
+ let middlewarePostObservable = of(response);
1207
+ for (let middleware of this.configuration.middleware) {
1208
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1209
+ }
1210
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateAMessage(rsp)));
1211
+ }));
1212
+ }
1213
+
1214
+ /**
1215
+ * ## Update extra data in a message Updates the values of specific items by their keys. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-update-metadata#1-update-metadata ----------------------------
1216
+ * Update extra data in a message
1217
+ * @param channelType (Required)
1218
+ * @param channelUrl (Required)
1219
+ * @param messageId (Required)
1220
+ * @param apiToken
1221
+ * @param updateExtraDataInAMessageRequest
1222
+ */
1223
+ public updateExtraDataInAMessage(channelType: 'open_channels' | 'group_channels', channelUrl: string, messageId: string, apiToken?: string, updateExtraDataInAMessageRequest?: UpdateExtraDataInAMessageRequest, _options?: Configuration): Observable<UpdateExtraDataInAMessageResponse> {
1224
+ const requestContextPromise = this.requestFactory.updateExtraDataInAMessage(channelType, channelUrl, messageId, apiToken, updateExtraDataInAMessageRequest, _options);
1225
+
1226
+ // build promise chain
1227
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1228
+ for (let middleware of this.configuration.middleware) {
1229
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1230
+ }
1231
+
1232
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1233
+ pipe(mergeMap((response: ResponseContext) => {
1234
+ let middlewarePostObservable = of(response);
1235
+ for (let middleware of this.configuration.middleware) {
1236
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1237
+ }
1238
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateExtraDataInAMessage(rsp)));
1239
+ }));
1240
+ }
1241
+
1242
+ }
1243
+
1244
+ import { MetadataApiRequestFactory, MetadataApiResponseProcessor} from "../apis/MetadataApi";
1245
+ export class ObservableMetadataApi {
1246
+ private requestFactory: MetadataApiRequestFactory;
1247
+ private responseProcessor: MetadataApiResponseProcessor;
1248
+ private configuration: Configuration;
1249
+
1250
+ public constructor(
1251
+ configuration: Configuration,
1252
+ requestFactory?: MetadataApiRequestFactory,
1253
+ responseProcessor?: MetadataApiResponseProcessor
1254
+ ) {
1255
+ this.configuration = configuration;
1256
+ this.requestFactory = requestFactory || new MetadataApiRequestFactory(configuration);
1257
+ this.responseProcessor = responseProcessor || new MetadataApiResponseProcessor();
1258
+ }
1259
+
1260
+ /**
1261
+ * ## Create a channel metadata Creates a channel metadata's items to store in a channel. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-create-metadata#1-create-metadata ----------------------------
1262
+ * Create a channel metadata
1263
+ * @param channelType (Required)
1264
+ * @param channelUrl (Required)
1265
+ * @param apiToken
1266
+ * @param createAChannelMetadataRequest
1267
+ */
1268
+ public createAChannelMetadata(channelType: 'open_channels' | 'group_channels', channelUrl: string, apiToken?: string, createAChannelMetadataRequest?: CreateAChannelMetadataRequest, _options?: Configuration): Observable<CreateAChannelMetadataResponse> {
1269
+ const requestContextPromise = this.requestFactory.createAChannelMetadata(channelType, channelUrl, apiToken, createAChannelMetadataRequest, _options);
1270
+
1271
+ // build promise chain
1272
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1273
+ for (let middleware of this.configuration.middleware) {
1274
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1275
+ }
1276
+
1277
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1278
+ pipe(mergeMap((response: ResponseContext) => {
1279
+ let middlewarePostObservable = of(response);
1280
+ for (let middleware of this.configuration.middleware) {
1281
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1282
+ }
1283
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createAChannelMetadata(rsp)));
1284
+ }));
1285
+ }
1286
+
1287
+ /**
1288
+ * ## Delete a channel metadata Deletes a channel metadata's one or all items that are stored in a channel. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-delete-metadata#1-delete-metadata ---------------------------- `channel_type` Type: string Description: Specifies the type of the channel. Either open_channels or group_channels. `channel_url` Type: string Description: Specifies the URL of the channel which has the metadata to delete.
1289
+ * Delete a channel metadata - When deleting all items of a channel metadata
1290
+ * @param channelType (Required)
1291
+ * @param channelUrl (Required)
1292
+ * @param key
1293
+ * @param apiToken
1294
+ */
1295
+ public deleteAChannelMetadataWhenDeletingAllItemsOfAChannelMetadata(channelType: 'open_channels' | 'group_channels', channelUrl: string, key?: string, apiToken?: string, _options?: Configuration): Observable<any> {
1296
+ const requestContextPromise = this.requestFactory.deleteAChannelMetadataWhenDeletingAllItemsOfAChannelMetadata(channelType, channelUrl, key, apiToken, _options);
1297
+
1298
+ // build promise chain
1299
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1300
+ for (let middleware of this.configuration.middleware) {
1301
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1302
+ }
1303
+
1304
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1305
+ pipe(mergeMap((response: ResponseContext) => {
1306
+ let middlewarePostObservable = of(response);
1307
+ for (let middleware of this.configuration.middleware) {
1308
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1309
+ }
1310
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteAChannelMetadataWhenDeletingAllItemsOfAChannelMetadata(rsp)));
1311
+ }));
1312
+ }
1313
+
1314
+ /**
1315
+ * ## Update a channel metadata Updates existing items of a channel metadata by their keys, or adds new items to the metadata. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-update-metadata#1-update-metadata ---------------------------- `channel_type` Type: string Description: Specifies the type of the channel. Either open_channels or group_channels. `channel_url` Type: string Description: Specifies the URL of the target channel.
1316
+ * Update a channel metadata - When updating existing items of a channel metadata by their keys or adding new items to the metadata
1317
+ * @param channelType (Required)
1318
+ * @param channelUrl (Required)
1319
+ * @param apiToken
1320
+ * @param updateAChannelMetadataRequest
1321
+ */
1322
+ public updateAChannelMetadata(channelType: 'open_channels' | 'group_channels', channelUrl: string, apiToken?: string, updateAChannelMetadataRequest?: UpdateAChannelMetadataRequest, _options?: Configuration): Observable<any> {
1323
+ const requestContextPromise = this.requestFactory.updateAChannelMetadata(channelType, channelUrl, apiToken, updateAChannelMetadataRequest, _options);
1324
+
1325
+ // build promise chain
1326
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1327
+ for (let middleware of this.configuration.middleware) {
1328
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1329
+ }
1330
+
1331
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1332
+ pipe(mergeMap((response: ResponseContext) => {
1333
+ let middlewarePostObservable = of(response);
1334
+ for (let middleware of this.configuration.middleware) {
1335
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1336
+ }
1337
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateAChannelMetadata(rsp)));
1338
+ }));
1339
+ }
1340
+
1341
+ /**
1342
+ * ## View a channel metadata Retrieves a channel metadata's one or more items that are stored in a channel. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-get-metadata#1-get-metadata ---------------------------- `channel_type` Type: string Description: Specifies the type of the channel. Either open_channels or group_channels. `channel_url` Type: string Description: Specifies the URL of the target channel.
1343
+ * View a channel metadata - When retrieving all items of a channel metadata
1344
+ * @param channelType (Required)
1345
+ * @param channelUrl (Required)
1346
+ * @param key
1347
+ * @param keys In a query string, specifies an array of one or more keys of the metadata items. If not specified, all items of the metadata are returned. If specified, only the items that match the parameter values are returned. URL encoding each key is recommended.
1348
+ * @param apiToken
1349
+ */
1350
+ public viewAChannelMetadataWhenRetrievingAllItemsOfAChannelMetadata(channelType: 'open_channels' | 'group_channels', channelUrl: string, key?: string, keys?: string, apiToken?: string, _options?: Configuration): Observable<any> {
1351
+ const requestContextPromise = this.requestFactory.viewAChannelMetadataWhenRetrievingAllItemsOfAChannelMetadata(channelType, channelUrl, key, keys, apiToken, _options);
1352
+
1353
+ // build promise chain
1354
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1355
+ for (let middleware of this.configuration.middleware) {
1356
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1357
+ }
1358
+
1359
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1360
+ pipe(mergeMap((response: ResponseContext) => {
1361
+ let middlewarePostObservable = of(response);
1362
+ for (let middleware of this.configuration.middleware) {
1363
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1364
+ }
1365
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewAChannelMetadataWhenRetrievingAllItemsOfAChannelMetadata(rsp)));
1366
+ }));
1367
+ }
1368
+
1369
+ }
1370
+
1371
+ import { ModerationApiRequestFactory, ModerationApiResponseProcessor} from "../apis/ModerationApi";
1372
+ export class ObservableModerationApi {
1373
+ private requestFactory: ModerationApiRequestFactory;
1374
+ private responseProcessor: ModerationApiResponseProcessor;
1375
+ private configuration: Configuration;
1376
+
1377
+ public constructor(
1378
+ configuration: Configuration,
1379
+ requestFactory?: ModerationApiRequestFactory,
1380
+ responseProcessor?: ModerationApiResponseProcessor
1381
+ ) {
1382
+ this.configuration = configuration;
1383
+ this.requestFactory = requestFactory || new ModerationApiRequestFactory(configuration);
1384
+ this.responseProcessor = responseProcessor || new ModerationApiResponseProcessor();
1385
+ }
1386
+
1387
+ /**
1388
+ * ## Block a user A user can block another user if the user doesn't wish to receive any messages or notifications from the blocked user in a 1-to-1 group channel. In a 1-to-N group channel, the user can still receive messages from the blocked user, but this depends on the UI settings of the chat view. In any case, notifications from the blocked user won't be delivered to the 1-to-N group channel. You can choose whether or not the user can view [which users are blocked](https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users) in the channel UI. Sendbird application provides two blocking options: include or exclude blocked users when sending invitations, and turn on or off notifications from blocked users. [Explicit and classic block modes](https://sendbird.com/docs/chat/platform-api/v3/deprecated#2-explicit-and-classic-block-modes) have been deprecated and are only supported for customers who started using them before they were deprecated. - **Include or exclude blocked users when sending invitations**: Determines whether or not to automatically filter out blocked users when a user invites a group of users to a new group channel. By default, blocked users are included when sending invitations. The value of this option can be changed by Sendbird if your Sendbird application isn't integrated to the client app. If you want to change the value, [contact our sales team](https://get.sendbird.com/talk-to-sales.html). - **Turn on or off notifications from blocked users**: Determines whether or not to receive message notifications from the blocked user in a specific 1-to-N group channel where they are both members. By default, a user doesn't receive notifications from blocked users. The value of this option can be set individually per channel. If you want to use this option, [contact our sales team](https://get.sendbird.com/talk-to-sales.html). > **Note**: To learn more about other available moderation tools, see [Moderation Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions). The following tables explain what happens to a user's chat experience when the user blocks another user in a 1-to-1 or 1-to-N group channel. In the case of a 1-to-1 group channel, the block mode is only maintained with the original members. If other than the original members are added, the rules for 1-to-N group channel begin to apply. [https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users#1-block-users](https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users#1-block-users)
1389
+ * Block a user
1390
+ * @param userId (Required)
1391
+ * @param apiToken
1392
+ * @param blockAUserRequest
1393
+ */
1394
+ public blockAUser(userId: string, apiToken?: string, blockAUserRequest?: BlockAUserRequest, _options?: Configuration): Observable<BlockAUserResponse> {
1395
+ const requestContextPromise = this.requestFactory.blockAUser(userId, apiToken, blockAUserRequest, _options);
1396
+
1397
+ // build promise chain
1398
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1399
+ for (let middleware of this.configuration.middleware) {
1400
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1401
+ }
1402
+
1403
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1404
+ pipe(mergeMap((response: ResponseContext) => {
1405
+ let middlewarePostObservable = of(response);
1406
+ for (let middleware of this.configuration.middleware) {
1407
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1408
+ }
1409
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.blockAUser(rsp)));
1410
+ }));
1411
+ }
1412
+
1413
+ /**
1414
+ * ## Freeze a group channel Freezes or unfreezes a group channel. > **Note**: To learn more about other available moderation tools, see [Moderation Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions). [https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-a-group-channel#1-freeze-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-a-group-channel#1-freeze-a-group-channel)
1415
+ * Freeze a group channel
1416
+ * @param channelUrl (Required)
1417
+ * @param apiToken
1418
+ * @param freezeAGroupChannelRequest
1419
+ */
1420
+ public freezeAGroupChannel(channelUrl: string, apiToken?: string, freezeAGroupChannelRequest?: FreezeAGroupChannelRequest, _options?: Configuration): Observable<SendbirdGroupChannelDetail> {
1421
+ const requestContextPromise = this.requestFactory.freezeAGroupChannel(channelUrl, apiToken, freezeAGroupChannelRequest, _options);
1422
+
1423
+ // build promise chain
1424
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1425
+ for (let middleware of this.configuration.middleware) {
1426
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1427
+ }
1428
+
1429
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1430
+ pipe(mergeMap((response: ResponseContext) => {
1431
+ let middlewarePostObservable = of(response);
1432
+ for (let middleware of this.configuration.middleware) {
1433
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1434
+ }
1435
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.freezeAGroupChannel(rsp)));
1436
+ }));
1437
+ }
1438
+
1439
+ /**
1440
+ * ## Freeze an open channel Freezes or unfreezes an open channel. > **Note**: To learn more about other available moderation tools, see [Moderation Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions). [https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-an-open-channel#1-freeze-an-open-channel](https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-an-open-channel#1-freeze-an-open-channel)
1441
+ * Freeze an open channel
1442
+ * @param channelUrl (Required)
1443
+ * @param apiToken
1444
+ * @param freezeAnOpenChannelRequest
1445
+ */
1446
+ public freezeAnOpenChannel(channelUrl: string, apiToken?: string, freezeAnOpenChannelRequest?: FreezeAnOpenChannelRequest, _options?: Configuration): Observable<SendbirdOpenChannel> {
1447
+ const requestContextPromise = this.requestFactory.freezeAnOpenChannel(channelUrl, apiToken, freezeAnOpenChannelRequest, _options);
1448
+
1449
+ // build promise chain
1450
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1451
+ for (let middleware of this.configuration.middleware) {
1452
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1453
+ }
1454
+
1455
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1456
+ pipe(mergeMap((response: ResponseContext) => {
1457
+ let middlewarePostObservable = of(response);
1458
+ for (let middleware of this.configuration.middleware) {
1459
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1460
+ }
1461
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.freezeAnOpenChannel(rsp)));
1462
+ }));
1463
+ }
1464
+
1465
+ /**
1466
+ * ## List blocked by and blocking users This action retrieves a list of users who are either blocked by a specific user or a list of users who are blocking a specific user. [https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users#1-list-blocked-by-and-blocking-users](https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users#1-list-blocked-by-and-blocking-users) `user_id` Type: string Description: Specifies the unique ID of the target user.
1467
+ * List blocked users
1468
+ * @param userId (Required)
1469
+ * @param list Specifies whether to retrieve a list of users who are blocked by the specified user or a list of users who are blocking the specified user. Acceptable values are blocked_by_me and blocking_me. The &#x60;me&#x60; in the values refers to the user specified in the parameter. (Default: blocked_by_me)
1470
+ * @param token
1471
+ * @param limit
1472
+ * @param userIds Specifies the user IDs of the blocked or blocking users to search for. The value should be a comma-separated string that consists of multiple URL encoded user IDs.
1473
+ * @param metadatakey
1474
+ * @param metadatavaluesIn
1475
+ * @param apiToken
1476
+ */
1477
+ public listBlockedUsers(userId: string, list?: 'blocked_by_me' | 'blocking_me', token?: string, limit?: number, userIds?: string, metadatakey?: string, metadatavaluesIn?: string, apiToken?: string, _options?: Configuration): Observable<ListBlockedUsersResponse> {
1478
+ const requestContextPromise = this.requestFactory.listBlockedUsers(userId, list, token, limit, userIds, metadatakey, metadatavaluesIn, apiToken, _options);
1479
+
1480
+ // build promise chain
1481
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1482
+ for (let middleware of this.configuration.middleware) {
1483
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1484
+ }
1485
+
1486
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1487
+ pipe(mergeMap((response: ResponseContext) => {
1488
+ let middlewarePostObservable = of(response);
1489
+ for (let middleware of this.configuration.middleware) {
1490
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1491
+ }
1492
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listBlockedUsers(rsp)));
1493
+ }));
1494
+ }
1495
+
1496
+ /**
1497
+ * ## Unblock a user Unblocks the user. https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/unblock-a-user#1-unblock-a-user
1498
+ * Unblock a user
1499
+ * @param userId (Required)
1500
+ * @param targetId (Required)
1501
+ * @param apiToken
1502
+ */
1503
+ public unblockAUser(userId: string, targetId: string, apiToken?: string, _options?: Configuration): Observable<any> {
1504
+ const requestContextPromise = this.requestFactory.unblockAUser(userId, targetId, apiToken, _options);
1505
+
1506
+ // build promise chain
1507
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1508
+ for (let middleware of this.configuration.middleware) {
1509
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1510
+ }
1511
+
1512
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1513
+ pipe(mergeMap((response: ResponseContext) => {
1514
+ let middlewarePostObservable = of(response);
1515
+ for (let middleware of this.configuration.middleware) {
1516
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1517
+ }
1518
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.unblockAUser(rsp)));
1519
+ }));
1520
+ }
1521
+
1522
+ }
1523
+
1524
+ import { OpenChannelApiRequestFactory, OpenChannelApiResponseProcessor} from "../apis/OpenChannelApi";
1525
+ export class ObservableOpenChannelApi {
1526
+ private requestFactory: OpenChannelApiRequestFactory;
1527
+ private responseProcessor: OpenChannelApiResponseProcessor;
1528
+ private configuration: Configuration;
1529
+
1530
+ public constructor(
1531
+ configuration: Configuration,
1532
+ requestFactory?: OpenChannelApiRequestFactory,
1533
+ responseProcessor?: OpenChannelApiResponseProcessor
1534
+ ) {
1535
+ this.configuration = configuration;
1536
+ this.requestFactory = requestFactory || new OpenChannelApiRequestFactory(configuration);
1537
+ this.responseProcessor = responseProcessor || new OpenChannelApiResponseProcessor();
1538
+ }
1539
+
1540
+ /**
1541
+ * ## Create an open channel You can create an [open channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel) that facilitates conversations for millions of users. Open channels allow a seamless chat experience possible for all participants by using [dynamic partitioning](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-how-dynamic-partitioning-works) which creates subchannels that each handle up to tens of thousands of participants. Because users don't need invitations to join open channels, short-lived live events like concerts or live streams that don't require a sustained membership are good use cases for open channels. [https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel](https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel)
1542
+ * Create an open channel
1543
+ * @param apiToken
1544
+ * @param createAnOpenChannelRequest
1545
+ */
1546
+ public createAnOpenChannel(apiToken?: string, createAnOpenChannelRequest?: CreateAnOpenChannelRequest, _options?: Configuration): Observable<SendbirdOpenChannel> {
1547
+ const requestContextPromise = this.requestFactory.createAnOpenChannel(apiToken, createAnOpenChannelRequest, _options);
1548
+
1549
+ // build promise chain
1550
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1551
+ for (let middleware of this.configuration.middleware) {
1552
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1553
+ }
1554
+
1555
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1556
+ pipe(mergeMap((response: ResponseContext) => {
1557
+ let middlewarePostObservable = of(response);
1558
+ for (let middleware of this.configuration.middleware) {
1559
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1560
+ }
1561
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createAnOpenChannel(rsp)));
1562
+ }));
1563
+ }
1564
+
1565
+ /**
1566
+ * ## Delete an open channel You can delete an open channel using this API. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-an-open-channel#1-delete-an-open-channel
1567
+ * Delete an open channel
1568
+ * @param channelUrl (Required)
1569
+ * @param apiToken
1570
+ */
1571
+ public deleteAnOpenChannel(channelUrl: string, apiToken?: string, _options?: Configuration): Observable<any> {
1572
+ const requestContextPromise = this.requestFactory.deleteAnOpenChannel(channelUrl, apiToken, _options);
1573
+
1574
+ // build promise chain
1575
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1576
+ for (let middleware of this.configuration.middleware) {
1577
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1578
+ }
1579
+
1580
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1581
+ pipe(mergeMap((response: ResponseContext) => {
1582
+ let middlewarePostObservable = of(response);
1583
+ for (let middleware of this.configuration.middleware) {
1584
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1585
+ }
1586
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteAnOpenChannel(rsp)));
1587
+ }));
1588
+ }
1589
+
1590
+ /**
1591
+ * ## Get an open channel This action retrieves information about a specific [open channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel). [https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-an-open-channel#1-get-an-open-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-an-open-channel#1-get-an-open-channel)
1592
+ * Get an open channel
1593
+ * @param channelUrl (Required)
1594
+ * @param apiToken
1595
+ * @param includeOperators Determines whether to include a list of operators in the response. (Default: false)
1596
+ */
1597
+ public getAnOpenChannel(channelUrl: string, apiToken?: string, includeOperators?: boolean, _options?: Configuration): Observable<SendbirdOpenChannel> {
1598
+ const requestContextPromise = this.requestFactory.getAnOpenChannel(channelUrl, apiToken, includeOperators, _options);
1599
+
1600
+ // build promise chain
1601
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1602
+ for (let middleware of this.configuration.middleware) {
1603
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1604
+ }
1605
+
1606
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1607
+ pipe(mergeMap((response: ResponseContext) => {
1608
+ let middlewarePostObservable = of(response);
1609
+ for (let middleware of this.configuration.middleware) {
1610
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1611
+ }
1612
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getAnOpenChannel(rsp)));
1613
+ }));
1614
+ }
1615
+
1616
+ /**
1617
+ * ## List operators of an open channel You can retrieve a list of operators of an open channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/list-operators-of-an-open-channel#1-list-operators-of-an-open-channel `channel_url` Type: string Description: Specifies the URL of the channel to retrieve a list of operators.
1618
+ * List operators of an open channel
1619
+ * @param channelUrl (Required)
1620
+ * @param token
1621
+ * @param limit
1622
+ * @param apiToken
1623
+ */
1624
+ public listChannelOperators(channelUrl: string, token?: string, limit?: number, apiToken?: string, _options?: Configuration): Observable<ListOperatorsResponse> {
1625
+ const requestContextPromise = this.requestFactory.listChannelOperators(channelUrl, token, limit, apiToken, _options);
1626
+
1627
+ // build promise chain
1628
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1629
+ for (let middleware of this.configuration.middleware) {
1630
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1631
+ }
1632
+
1633
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1634
+ pipe(mergeMap((response: ResponseContext) => {
1635
+ let middlewarePostObservable = of(response);
1636
+ for (let middleware of this.configuration.middleware) {
1637
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1638
+ }
1639
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listChannelOperators(rsp)));
1640
+ }));
1641
+ }
1642
+
1643
+ /**
1644
+ * ## List open channels This action retrieves a list of [open channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel). You can use various query parameters to determine the search scope and select what kind of information you want to receive about the queried channels. [https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-open-channels#1-list-open-channels](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-open-channels#1-list-open-channels)
1645
+ * List open channels
1646
+ * @param token
1647
+ * @param channelUrls Specifies a comma-separated string of one or more open channel URLs to restrict the search scope. URL encoding each channel URL is recommended.
1648
+ * @param limit
1649
+ * @param customTypes Specifies a comma-separated string of one or more custom types to filter open channels. Urlencoding each type is recommended (for example, ?custom_types&#x3D;urlencoded_type_1,urlencoded_type_2). If not specified, all channels are returned, regardless of their custom type.
1650
+ * @param nameContains
1651
+ * @param urlContains
1652
+ * @param showFrozen Determines whether to include frozen channels in the response. Frozen channels are channels where only channel operators are allowed to send messages. (Default: true)
1653
+ * @param showMetadata Determines whether to include channel metadata in the response. (Default: false)
1654
+ * @param apiToken
1655
+ */
1656
+ public listOpenChannels(token?: string, channelUrls?: string, limit?: number, customTypes?: string, nameContains?: string, urlContains?: string, showFrozen?: boolean, showMetadata?: boolean, apiToken?: string, _options?: Configuration): Observable<ListOpenChannelsResponse> {
1657
+ const requestContextPromise = this.requestFactory.listOpenChannels(token, channelUrls, limit, customTypes, nameContains, urlContains, showFrozen, showMetadata, apiToken, _options);
1658
+
1659
+ // build promise chain
1660
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1661
+ for (let middleware of this.configuration.middleware) {
1662
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1663
+ }
1664
+
1665
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1666
+ pipe(mergeMap((response: ResponseContext) => {
1667
+ let middlewarePostObservable = of(response);
1668
+ for (let middleware of this.configuration.middleware) {
1669
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1670
+ }
1671
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listOpenChannels(rsp)));
1672
+ }));
1673
+ }
1674
+
1675
+ /**
1676
+ * ## Register operators to an open channel You can register one or more operators to an open channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/register-operators-to-an-open-channel#1-register-operators-to-an-open-channel
1677
+ * Register operators to an open channel
1678
+ * @param channelUrl (Required)
1679
+ * @param apiToken
1680
+ * @param registerOperatorsToAGroupChannelRequest
1681
+ */
1682
+ public registerOperators(channelUrl: string, apiToken?: string, registerOperatorsToAGroupChannelRequest?: RegisterOperatorsToAGroupChannelRequest, _options?: Configuration): Observable<any> {
1683
+ const requestContextPromise = this.requestFactory.registerOperators(channelUrl, apiToken, registerOperatorsToAGroupChannelRequest, _options);
1684
+
1685
+ // build promise chain
1686
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1687
+ for (let middleware of this.configuration.middleware) {
1688
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1689
+ }
1690
+
1691
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1692
+ pipe(mergeMap((response: ResponseContext) => {
1693
+ let middlewarePostObservable = of(response);
1694
+ for (let middleware of this.configuration.middleware) {
1695
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1696
+ }
1697
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.registerOperators(rsp)));
1698
+ }));
1699
+ }
1700
+
1701
+ /**
1702
+ * ## Unregister operators from an open channel You can unregister operators in an open channel but keep them in the channel as participants using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/unregister-operators-from-an-open-channel#1-unregister-operators-from-an-open-channel `channel_url` Type: string Description: Specifies the URL of the channel to cancel the registration of operators.
1703
+ * Unregister operators from an open channel
1704
+ * @param channelUrl (Required)
1705
+ * @param operatorIds Specifies an array of one or more operator IDs to unregister from the channel. The operators in this array remain as participants of the channel after losing their operational roles. Urlencoding each operator ID is recommended. An example of a Urlencoded array would be ?operator_ids&#x3D;urlencoded_id_1,urlencoded_id_2.
1706
+ * @param deleteAll Determines whether to unregister all operators and leave them as the participants of the channel. When this is set to true, the operator_ids property isn&#39;t effective and doesn&#39;t need to be specified in the request. (Default: false)
1707
+ * @param apiToken
1708
+ */
1709
+ public unregisterOperators(channelUrl: string, operatorIds: string, deleteAll?: boolean, apiToken?: string, _options?: Configuration): Observable<any> {
1710
+ const requestContextPromise = this.requestFactory.unregisterOperators(channelUrl, operatorIds, deleteAll, apiToken, _options);
1711
+
1712
+ // build promise chain
1713
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1714
+ for (let middleware of this.configuration.middleware) {
1715
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1716
+ }
1717
+
1718
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1719
+ pipe(mergeMap((response: ResponseContext) => {
1720
+ let middlewarePostObservable = of(response);
1721
+ for (let middleware of this.configuration.middleware) {
1722
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1723
+ }
1724
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.unregisterOperators(rsp)));
1725
+ }));
1726
+ }
1727
+
1728
+ /**
1729
+ * ## Update an open channel You can update information about an open channel using this API. You can add a cover image to a channel to better identify the channel or specify a custom channel type for grouping channels by custom type. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel) to learn more about channel types. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-an-open-channel#1-update-an-open-channel
1730
+ * Update an open channel
1731
+ * @param channelUrl (Required)
1732
+ * @param apiToken
1733
+ * @param updateAnOpenChannelRequest
1734
+ */
1735
+ public updateAnOpenChannel(channelUrl: string, apiToken?: string, updateAnOpenChannelRequest?: UpdateAnOpenChannelRequest, _options?: Configuration): Observable<SendbirdOpenChannel> {
1736
+ const requestContextPromise = this.requestFactory.updateAnOpenChannel(channelUrl, apiToken, updateAnOpenChannelRequest, _options);
1737
+
1738
+ // build promise chain
1739
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1740
+ for (let middleware of this.configuration.middleware) {
1741
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1742
+ }
1743
+
1744
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1745
+ pipe(mergeMap((response: ResponseContext) => {
1746
+ let middlewarePostObservable = of(response);
1747
+ for (let middleware of this.configuration.middleware) {
1748
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1749
+ }
1750
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateAnOpenChannel(rsp)));
1751
+ }));
1752
+ }
1753
+
1754
+ }
1755
+
1756
+ import { StatisticsApiRequestFactory, StatisticsApiResponseProcessor} from "../apis/StatisticsApi";
1757
+ export class ObservableStatisticsApi {
1758
+ private requestFactory: StatisticsApiRequestFactory;
1759
+ private responseProcessor: StatisticsApiResponseProcessor;
1760
+ private configuration: Configuration;
1761
+
1762
+ public constructor(
1763
+ configuration: Configuration,
1764
+ requestFactory?: StatisticsApiRequestFactory,
1765
+ responseProcessor?: StatisticsApiResponseProcessor
1766
+ ) {
1767
+ this.configuration = configuration;
1768
+ this.requestFactory = requestFactory || new StatisticsApiRequestFactory(configuration);
1769
+ this.responseProcessor = responseProcessor || new StatisticsApiResponseProcessor();
1770
+ }
1771
+
1772
+ /**
1773
+ * ## View number of daily active users Retrieves the number of daily active users of an application. > **Note**: This metric is scheduled to be calculated every 30 minutes, starting at 00:00 UTC, with the first update at 00:30 UTC. [https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-daily-active-users#1-get-number-of-daily-active-users](https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-daily-active-users#1-get-number-of-daily-active-users)
1774
+ * View number of daily active users
1775
+ * @param date YYYY-MM-DD
1776
+ * @param apiToken
1777
+ */
1778
+ public viewNumberOfDailyActiveUsers(date?: string, apiToken?: string, _options?: Configuration): Observable<ViewNumberOfDailyActiveUsersResponse> {
1779
+ const requestContextPromise = this.requestFactory.viewNumberOfDailyActiveUsers(date, apiToken, _options);
1780
+
1781
+ // build promise chain
1782
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1783
+ for (let middleware of this.configuration.middleware) {
1784
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1785
+ }
1786
+
1787
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1788
+ pipe(mergeMap((response: ResponseContext) => {
1789
+ let middlewarePostObservable = of(response);
1790
+ for (let middleware of this.configuration.middleware) {
1791
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1792
+ }
1793
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewNumberOfDailyActiveUsers(rsp)));
1794
+ }));
1795
+ }
1796
+
1797
+ /**
1798
+ * ## View number of monthly active users Retrieves the number of monthly active users of an application. > **Note**: This metric is scheduled to be calculated every 30 minutes, starting at 00:00 UTC, with the first update at 00:30 UTC. [https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-monthly-active-users#1-get-number-of-monthly-active-users](https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-monthly-active-users#1-get-number-of-monthly-active-users)
1799
+ * View number of monthly active users
1800
+ * @param date YYYY-MM-DD
1801
+ * @param apiToken
1802
+ */
1803
+ public viewNumberOfMonthlyActiveUsers(date?: string, apiToken?: string, _options?: Configuration): Observable<ViewNumberOfMonthlyActiveUsersResponse> {
1804
+ const requestContextPromise = this.requestFactory.viewNumberOfMonthlyActiveUsers(date, apiToken, _options);
1805
+
1806
+ // build promise chain
1807
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1808
+ for (let middleware of this.configuration.middleware) {
1809
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1810
+ }
1811
+
1812
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1813
+ pipe(mergeMap((response: ResponseContext) => {
1814
+ let middlewarePostObservable = of(response);
1815
+ for (let middleware of this.configuration.middleware) {
1816
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1817
+ }
1818
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewNumberOfMonthlyActiveUsers(rsp)));
1819
+ }));
1820
+ }
1821
+
1822
+ }
1823
+
1824
+ import { UserApiRequestFactory, UserApiResponseProcessor} from "../apis/UserApi";
1825
+ export class ObservableUserApi {
1826
+ private requestFactory: UserApiRequestFactory;
1827
+ private responseProcessor: UserApiResponseProcessor;
1828
+ private configuration: Configuration;
1829
+
1830
+ public constructor(
1831
+ configuration: Configuration,
1832
+ requestFactory?: UserApiRequestFactory,
1833
+ responseProcessor?: UserApiResponseProcessor
1834
+ ) {
1835
+ this.configuration = configuration;
1836
+ this.requestFactory = requestFactory || new UserApiRequestFactory(configuration);
1837
+ this.responseProcessor = responseProcessor || new UserApiResponseProcessor();
1838
+ }
1839
+
1840
+ /**
1841
+ * ## Add a registration or device token > __Note__: A user can have up to 20 FCM registration tokens, 20 HMS device tokens, and 20 APNs device tokens each. The oldest token will be deleted before a new token is added for a user who already has 20 registration or device tokens. Only the 20 newest tokens will be maintained for users who already have more than 20 of each token type. To send notification requests to push notification services on behalf of your server, adds a specific user's FCM registration token, HMS device token, or APNs device token to Sendbird server. Depending on which push service you are using, you can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`. A FCM registration token and an APNs device token allow identification of each client app instance on each device, and are generated and registered by Android and iOS apps through the corresponding SDKs. Use this method if you need to register a token via your own server. > __Note__: For more information on the registration token and device token, visit the Google's [FCM](https://firebase.google.com/docs/auth/admin/verify-id-tokens) page, Huawei's [Push kit](https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/service-introduction-0000001050040060) and Apple's [APNs](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html) page. https://sendbird.com/docs/chat/v3/platform-api/guides/user#2-add-a-registration-or-device-token ----------------------------
1842
+ * Add a registration or device token
1843
+ * @param userId (Required)
1844
+ * @param tokenType (Required)
1845
+ * @param apiToken
1846
+ * @param addARegistrationOrDeviceTokenRequest
1847
+ */
1848
+ public addARegistrationOrDeviceToken(userId: string, tokenType: 'gcm' | 'huawei' | 'apns', apiToken?: string, addARegistrationOrDeviceTokenRequest?: AddARegistrationOrDeviceTokenRequest, _options?: Configuration): Observable<AddARegistrationOrDeviceTokenResponse> {
1849
+ const requestContextPromise = this.requestFactory.addARegistrationOrDeviceToken(userId, tokenType, apiToken, addARegistrationOrDeviceTokenRequest, _options);
1850
+
1851
+ // build promise chain
1852
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1853
+ for (let middleware of this.configuration.middleware) {
1854
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1855
+ }
1856
+
1857
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1858
+ pipe(mergeMap((response: ResponseContext) => {
1859
+ let middlewarePostObservable = of(response);
1860
+ for (let middleware of this.configuration.middleware) {
1861
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1862
+ }
1863
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.addARegistrationOrDeviceToken(rsp)));
1864
+ }));
1865
+ }
1866
+
1867
+ /**
1868
+ * ## Choose a push notification content template Users can choose a template to determine how push notifications appear to them. Push notification content templates are pre-formatted forms that can be customized to display your own push notification messages on a user's device. Sendbird provides two types: `default` and `alternative`. Go to **Settings** > **Chat** > **Push notifications** > **Push notification content templates** on [Sendbird Dashboard](https://dashboard.sendbird.com/auth/signin) to customize the templates. If the `push_message_template` property is specified when [sending a message](https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/send-a-message), the content template customized for the message takes precedence over the user's choice. > **Note**: Push notifications are only available for group channels. https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/choose-a-push-notification-content-template#1-choose-a-push-notification-content-template
1869
+ * Choose a push notification content template
1870
+ * @param userId (Required)
1871
+ * @param apiToken
1872
+ * @param chooseAPushNotificationContentTemplateRequest
1873
+ */
1874
+ public chooseAPushNotificationContentTemplate(userId: string, apiToken?: string, chooseAPushNotificationContentTemplateRequest?: ChooseAPushNotificationContentTemplateRequest, _options?: Configuration): Observable<ChooseAPushNotificationContentTemplateResponse> {
1875
+ const requestContextPromise = this.requestFactory.chooseAPushNotificationContentTemplate(userId, apiToken, chooseAPushNotificationContentTemplateRequest, _options);
1876
+
1877
+ // build promise chain
1878
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1879
+ for (let middleware of this.configuration.middleware) {
1880
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1881
+ }
1882
+
1883
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1884
+ pipe(mergeMap((response: ResponseContext) => {
1885
+ let middlewarePostObservable = of(response);
1886
+ for (let middleware of this.configuration.middleware) {
1887
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1888
+ }
1889
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.chooseAPushNotificationContentTemplate(rsp)));
1890
+ }));
1891
+ }
1892
+
1893
+ /**
1894
+ * ## Create a user You should create a user in your Sendbird application to initiate conversations in channels. A user is identified by its unique user ID, and additionally have a changeable nickname, profile image, and so on. Users are at the core of all conversations. Sendbird applications are made up of users who chat in either Open Channels or Group Channels. Using this API, it is possible to have fine grained control over your users and what those users can do. To learn more about users, see [User overview](https://sendbird.com/docs/chat/platform-api/v3/user/user-overview#2-resource-representation). https://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#1-create-a-user
1895
+ * Create a user
1896
+ * @param apiToken
1897
+ * @param createAUserRequest
1898
+ */
1899
+ public createAUser(apiToken?: string, createAUserRequest?: CreateAUserRequest, _options?: Configuration): Observable<SendbirdUser> {
1900
+ const requestContextPromise = this.requestFactory.createAUser(apiToken, createAUserRequest, _options);
1901
+
1902
+ // build promise chain
1903
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1904
+ for (let middleware of this.configuration.middleware) {
1905
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1906
+ }
1907
+
1908
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1909
+ pipe(mergeMap((response: ResponseContext) => {
1910
+ let middlewarePostObservable = of(response);
1911
+ for (let middleware of this.configuration.middleware) {
1912
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1913
+ }
1914
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createAUser(rsp)));
1915
+ }));
1916
+ }
1917
+
1918
+ /**
1919
+ * ## Create user token This action issues a session token for user authentication. Session tokens provide an efficient stateless authentication method by not storing the tokens in the Sendbird database, and thus improving the server's performance. See [access token vs. session token](https://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#2-access-token-vs-session-token) to learn more about authenticating users. > **Note**: The endpoint `/users/{user_id}` is deprecated. Use `/users/{user_id}/token` for greater efficiency. https://sendbird.com/docs/chat/platform-api/v3/user/managing-session-tokens/issue-a-session-token#1-issue-a-session-token
1920
+ * Create user token
1921
+ * @param userId (Required)
1922
+ * @param apiToken
1923
+ * @param createUserTokenRequest
1924
+ */
1925
+ public createUserToken(userId: string, apiToken?: string, createUserTokenRequest?: CreateUserTokenRequest, _options?: Configuration): Observable<CreateUserTokenResponse> {
1926
+ const requestContextPromise = this.requestFactory.createUserToken(userId, apiToken, createUserTokenRequest, _options);
1927
+
1928
+ // build promise chain
1929
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1930
+ for (let middleware of this.configuration.middleware) {
1931
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1932
+ }
1933
+
1934
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1935
+ pipe(mergeMap((response: ResponseContext) => {
1936
+ let middlewarePostObservable = of(response);
1937
+ for (let middleware of this.configuration.middleware) {
1938
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1939
+ }
1940
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createUserToken(rsp)));
1941
+ }));
1942
+ }
1943
+
1944
+ /**
1945
+ * ## Delete a user You can delete a user from your Sendbird application using this API. > **Note**: This API deletes user data and metadata, except for their messages. If you wish to delete user data including their messages, use the [GDPR request](https://sendbird.com/docs/chat/platform-api/v3/privacy/privacy-overview). [https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/delete-a-user#1-delete-a-user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/delete-a-user#1-delete-a-user)
1946
+ * Delete a user
1947
+ * @param userId (Required)
1948
+ * @param apiToken
1949
+ */
1950
+ public deleteAUser(userId: string, apiToken?: string, _options?: Configuration): Observable<any> {
1951
+ const requestContextPromise = this.requestFactory.deleteAUser(userId, apiToken, _options);
1952
+
1953
+ // build promise chain
1954
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1955
+ for (let middleware of this.configuration.middleware) {
1956
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1957
+ }
1958
+
1959
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1960
+ pipe(mergeMap((response: ResponseContext) => {
1961
+ let middlewarePostObservable = of(response);
1962
+ for (let middleware of this.configuration.middleware) {
1963
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1964
+ }
1965
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteAUser(rsp)));
1966
+ }));
1967
+ }
1968
+
1969
+ /**
1970
+ * ## Get channel invitation preference This action retrieves a user's [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) invitation preference. Users are subject to both user-specific and application-wide invitation preferences. Of the two, the invitation preference set for a specific user takes precedence over [the default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/get-default-invitation-preference). [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference)
1971
+ * Get channel invitation preference
1972
+ * @param userId (Required)
1973
+ * @param apiToken
1974
+ */
1975
+ public getChannelInvitationPreference(userId: string, apiToken?: string, _options?: Configuration): Observable<GetChannelInvitationPreferenceResponse> {
1976
+ const requestContextPromise = this.requestFactory.getChannelInvitationPreference(userId, apiToken, _options);
1977
+
1978
+ // build promise chain
1979
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
1980
+ for (let middleware of this.configuration.middleware) {
1981
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
1982
+ }
1983
+
1984
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
1985
+ pipe(mergeMap((response: ResponseContext) => {
1986
+ let middlewarePostObservable = of(response);
1987
+ for (let middleware of this.configuration.middleware) {
1988
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
1989
+ }
1990
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getChannelInvitationPreference(rsp)));
1991
+ }));
1992
+ }
1993
+
1994
+ /**
1995
+ * ## Leave my group channels This action allows a user to leave all group channels or channels with a specific custom type. This API is useful if you want to let a user leave a set of channels at once. To let a user leave only one of their group channels, use the [leave a channel API](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/leave-a-channel) instead. Since this API can't be called for a deactivated user, ensure that the [<code>leave_all_when_deactivated</code>](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#2-request-body) property of the user is set to its default value of `true` to let the user leave all joined group channels upon deactivation. https://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/leave-group-channels#1-leave-group-channels `user_id` Type: string Description: Specifies the unique ID of the user to leave all joined group channels.
1996
+ * Leave my group channels
1997
+ * @param userId (Required)
1998
+ * @param apiToken
1999
+ * @param leaveMyGroupChannelsRequest
2000
+ */
2001
+ public leaveMyGroupChannels(userId: string, apiToken?: string, leaveMyGroupChannelsRequest?: LeaveMyGroupChannelsRequest, _options?: Configuration): Observable<any> {
2002
+ const requestContextPromise = this.requestFactory.leaveMyGroupChannels(userId, apiToken, leaveMyGroupChannelsRequest, _options);
2003
+
2004
+ // build promise chain
2005
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2006
+ for (let middleware of this.configuration.middleware) {
2007
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2008
+ }
2009
+
2010
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2011
+ pipe(mergeMap((response: ResponseContext) => {
2012
+ let middlewarePostObservable = of(response);
2013
+ for (let middleware of this.configuration.middleware) {
2014
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2015
+ }
2016
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.leaveMyGroupChannels(rsp)));
2017
+ }));
2018
+ }
2019
+
2020
+ /**
2021
+ * ## List my group channels This action retrieves a list of [group channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) that a specific user has joined. You can use various query parameters to determine the search scope and select what kind of information you want to receive about the queried channels. If you're looking to retrieve a list of group channels in a specific application, visit the [list group channels](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-group-channels) page under the Channel section. https://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/list-group-channels-by-user#1-list-group-channels-by-user `user_id` Type: string Description: Specifies the unique ID of the target user.
2022
+ * List my group channels
2023
+ * @param userId (Required)
2024
+ * @param apiToken
2025
+ * @param token Specifies a page token that indicates the starting index of a chunk of results. If not specified, the index is set as 0.
2026
+ * @param limit Specifies the number of results to return per page. Acceptable values are 1 to 100, inclusive. (Default: 10)
2027
+ * @param distinctMode
2028
+ * @param publicMode
2029
+ * @param superMode
2030
+ * @param createdAfter Restricts the search scope to only retrieve group channels which have been created after the specified time, in Unix milliseconds format.
2031
+ * @param createdBefore Restricts the search scope to only retrieve group channels which have been created before the specified time, in Unix milliseconds format.
2032
+ * @param showEmpty
2033
+ * @param showMember
2034
+ * @param showDeliveryReceipt
2035
+ * @param showReadReceipt
2036
+ * @param showMetadata
2037
+ * @param showFrozen
2038
+ * @param order
2039
+ * @param metadataOrderKey Specifies the key of an item in metadata. When a value of the order parameter is set to metadata_value_alphabetical, the results are alphabetically sorted by the value of the item specified by the key.
2040
+ * @param customTypes Specifies a comma-separated string of one or more custom types to filter group channels. URL encoding each type is recommended. If not specified, all channels are returned, regardless of their custom type.
2041
+ * @param customTypeStartswith Searches for group channels with the custom type which starts with the specified value. URL encoding the value is recommended.
2042
+ * @param channelUrls Specifies a comma-separated string of one or more group channel URLs to restrict the search scope. URL encoding each channel URL is recommended.
2043
+ * @param name Specifies one or more group channel names.
2044
+ * @param nameContains Searches for group channels whose names contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended.
2045
+ * @param nameStartswith Searches for group channels whose names start with the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended.
2046
+ * @param membersExactlyIn Searches for group channels with all the specified users as members. The parameter value should consist of user IDs separated by commas. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended.
2047
+ * @param membersIncludeIn Searches for group channels that include one or more users as members among the specified users. The value should consist of user IDs separated by commas or %2C. You can specify up to 60 user IDs. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended.
2048
+ * @param queryType Specifies a logical condition applied to the members_include_in parameter. Acceptable values are either AND or OR. For example, if you specify three members, A, B, and C, in members_include_in, the value of AND returns all channels that include every one of {A. B, C} as members. The value of OR returns channels that include {A}, plus those that include {B}, plus those that include {C}. (Default: AND)
2049
+ * @param membersNickname Searches for group channels with members whose nicknames match the specified value. URL encoding the value is recommended.
2050
+ * @param membersNicknameContains Searches for group channels with members whose nicknames contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. * We recommend using at least three characters for the parameter value for better search efficiency when you design and implement related features. If you would like to allow one or two characters for searching, use members_nickname instead to prevent performance issues.
2051
+ * @param membersNicknameStartswith Searches for group channels with members whose nicknames begin with the specified value. This parameter isn&#39;t case-sensitive. URL encoding the value is recommended.
2052
+ * @param searchQuery Searches for group channels where the specified query string matches the channel name or the nickname of the member. This parameter isn&#39;t case-sensitive and should be specified in conjunction with the search_fields parameter below. URL encoding the value is recommended.
2053
+ * @param searchFields Specifies a comma-separated string of one or more search fields to apply to the query, which restricts the results within the specified fields (OR search condition). Acceptable values are channel_name and member_nickname. This is effective only when the search_query parameter above is specified. (Default: channel_name, member_nickname together)
2054
+ * @param metadataKey Searches for group channels with metadata containing an item with the specified value as its key. To use this parameter, either the metadata_values parameter or the metadata_value_startswith parameter should be specified.
2055
+ * @param metadataValues Searches for group channels with metadata containing an item with the key specified by the metadata_key parameter, and the value of that item matches one or more values specified by this parameter. The string should be specified with multiple values separated by commas. URL encoding each value is recommended. To use this parameter, the metadata_key parameter should be specified.
2056
+ * @param metadataValueStartswith Searches for group channels with metadata containing an item with the key specified by the metadata_key parameter, and the values of that item that start with the specified value of this parameter. URL encoding the value is recommended. To use this parameter, the metadata_key parameter should be specified.
2057
+ * @param metacounterKey Searches for group channels with metacounter containing an item with the specified value as its key. To use this parameter, either the metacounter_values parameter or one of the metacounter_value_gt, metacounter_value_gte, metacounter_value_lt, and metacounter_value_lte parameters should be specified.
2058
+ * @param metacounterValues Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is equal to one or more values specified by this parameter. The string should be specified with multiple values separated by commas. To use this parameter, the metacounter_key parameter should be specified.
2059
+ * @param metacounterValueGt Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is greater than the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
2060
+ * @param metacounterValueGte Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is greater than or equal to the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
2061
+ * @param metacounterValueLt Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is lower than the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
2062
+ * @param metacounterValueLte Searches for group channels with metacounter containing an item with the key specified by the metadata_key parameter, where the value of that item is lower than or equal to the value specified by this parameter. To use this parameter, the metacounter_key parameter should be specified.
2063
+ * @param includeSortedMetaarrayInLastMessage Determines whether to include the sorted_metaarray as one of the last_message’s properties in the response.
2064
+ * @param hiddenMode Restricts the search scope to group channels that match a specific hidden_status and operating behavior
2065
+ * @param unreadFilter Restricts the search scope to only retrieve group channels with one or more unread messages. This filter doesn&#39;t support Supergroup channels. Acceptable values are all and unread_message. (Default: all)
2066
+ * @param memberStateFilter
2067
+ */
2068
+ public listMyGroupChannels(userId: string, apiToken: string, token?: string, limit?: number, distinctMode?: 'all' | 'distinct' | 'nondistinct', publicMode?: 'all' | 'private' | 'public', superMode?: 'all' | 'super' | 'nonsuper', createdAfter?: number, createdBefore?: number, showEmpty?: boolean, showMember?: boolean, showDeliveryReceipt?: boolean, showReadReceipt?: boolean, showMetadata?: boolean, showFrozen?: boolean, order?: 'chronological' | 'latest_last_message' | 'channel_name_alphabetical' | 'metadata_value_alphabetical', metadataOrderKey?: string, customTypes?: string, customTypeStartswith?: string, channelUrls?: string, name?: string, nameContains?: string, nameStartswith?: string, membersExactlyIn?: string, membersIncludeIn?: string, queryType?: string, membersNickname?: string, membersNicknameContains?: string, membersNicknameStartswith?: string, searchQuery?: string, searchFields?: string, metadataKey?: string, metadataValues?: string, metadataValueStartswith?: string, metacounterKey?: string, metacounterValues?: string, metacounterValueGt?: string, metacounterValueGte?: string, metacounterValueLt?: string, metacounterValueLte?: string, includeSortedMetaarrayInLastMessage?: boolean, hiddenMode?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide' | 'all', unreadFilter?: 'all' | 'unread_message', memberStateFilter?: 'all' | 'invited_only' | 'joined_only' | 'invited_by_friend' | 'invited_by_non_friend', _options?: Configuration): Observable<ListMyGroupChannelsResponse> {
2069
+ const requestContextPromise = this.requestFactory.listMyGroupChannels(userId, apiToken, token, limit, distinctMode, publicMode, superMode, createdAfter, createdBefore, showEmpty, showMember, showDeliveryReceipt, showReadReceipt, showMetadata, showFrozen, order, metadataOrderKey, customTypes, customTypeStartswith, channelUrls, name, nameContains, nameStartswith, membersExactlyIn, membersIncludeIn, queryType, membersNickname, membersNicknameContains, membersNicknameStartswith, searchQuery, searchFields, metadataKey, metadataValues, metadataValueStartswith, metacounterKey, metacounterValues, metacounterValueGt, metacounterValueGte, metacounterValueLt, metacounterValueLte, includeSortedMetaarrayInLastMessage, hiddenMode, unreadFilter, memberStateFilter, _options);
2070
+
2071
+ // build promise chain
2072
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2073
+ for (let middleware of this.configuration.middleware) {
2074
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2075
+ }
2076
+
2077
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2078
+ pipe(mergeMap((response: ResponseContext) => {
2079
+ let middlewarePostObservable = of(response);
2080
+ for (let middleware of this.configuration.middleware) {
2081
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2082
+ }
2083
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listMyGroupChannels(rsp)));
2084
+ }));
2085
+ }
2086
+
2087
+ /**
2088
+ * ## List registration or device tokens Retrieves a list of a user's registration or device tokens. You can pass `gcm`, `huawei`, or `apns` for FCM registration token, HMS device token, or APNs device token, respectively, in the `token_type` parameter for the push notification service you are using. https://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/list-registration-or-device-tokens#1-list-registration-or-device-tokens
2089
+ * List registration or device tokens
2090
+ * @param userId (Required)
2091
+ * @param tokenType (Required)
2092
+ * @param apiToken
2093
+ */
2094
+ public listRegistrationOrDeviceTokens(userId: string, tokenType: 'gcm' | 'huawei' | 'apns', apiToken?: string, _options?: Configuration): Observable<ListRegistrationOrDeviceTokensResponse> {
2095
+ const requestContextPromise = this.requestFactory.listRegistrationOrDeviceTokens(userId, tokenType, apiToken, _options);
2096
+
2097
+ // build promise chain
2098
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2099
+ for (let middleware of this.configuration.middleware) {
2100
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2101
+ }
2102
+
2103
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2104
+ pipe(mergeMap((response: ResponseContext) => {
2105
+ let middlewarePostObservable = of(response);
2106
+ for (let middleware of this.configuration.middleware) {
2107
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2108
+ }
2109
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listRegistrationOrDeviceTokens(rsp)));
2110
+ }));
2111
+ }
2112
+
2113
+ /**
2114
+ * ## List users You can retrieve a list of users in your Sendbird application using this API. You can generate a customized list using various parameter combinations. https://sendbird.com/docs/chat/platform-api/v3/user/listing-users/list-users#1-list-users
2115
+ * List users
2116
+ * @param token
2117
+ * @param limit
2118
+ * @param activeMode Specifies the activation status of the users in the list. Acceptable values are &#x60;activated&#x60;, &#x60;deactivated&#x60;, and &#x60;all&#x60;. (Default: &#x60;activated&#x60;)
2119
+ * @param showBot Determines whether to include bots in the list. (Default: true)
2120
+ * @param userIds Specifies the user IDs. The value should be a comma-separated string that consists of multiple urlencoded user IDs. An example of a urlencoded string is ?user_ids&#x3D;urlencoded_id_1,urlencoded_id_2. * The maximum number of user IDs in this parameter is 250. If you exceed the maximum number, your request may receive an HTTP 414 error indicating that the request URL is longer than what Sendbird server can interpret.
2121
+ * @param nickname
2122
+ * @param nicknameStartswith
2123
+ * @param metadatakey
2124
+ * @param metadatavaluesIn Searches for blocked users with metadata containing an item with the key specified by the metadatakey parameter above, and the value of that item matches one or more values specified by this parameter. The string should be specified with multiple urlencoded metadata values separated by commas (for example, &#x60;?metadatavalues_in&#x3D;urlencoded_value_1, urlencoded_value_2&#x60;). This parameter should be specified in conjunction with the &#x60;metadatakey&#x60; above.
2125
+ * @param apiToken
2126
+ */
2127
+ public listUsers(token?: string, limit?: number, activeMode?: 'activated' | 'deactivated' | 'all', showBot?: boolean, userIds?: string, nickname?: string, nicknameStartswith?: string, metadatakey?: string, metadatavaluesIn?: string, apiToken?: string, _options?: Configuration): Observable<ListUsersResponse> {
2128
+ const requestContextPromise = this.requestFactory.listUsers(token, limit, activeMode, showBot, userIds, nickname, nicknameStartswith, metadatakey, metadatavaluesIn, apiToken, _options);
2129
+
2130
+ // build promise chain
2131
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2132
+ for (let middleware of this.configuration.middleware) {
2133
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2134
+ }
2135
+
2136
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2137
+ pipe(mergeMap((response: ResponseContext) => {
2138
+ let middlewarePostObservable = of(response);
2139
+ for (let middleware of this.configuration.middleware) {
2140
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2141
+ }
2142
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listUsers(rsp)));
2143
+ }));
2144
+ }
2145
+
2146
+ /**
2147
+ * ## Mark all messages as read This action marks all of a user's unread messages as read in certain group channels. If channels aren't specified, the user's unread messages in all group channels are marked as read. https://sendbird.com/docs/chat/platform-api/v3/user/marking-messages-as-read/mark-all-of-a-users-messages-as-read#1-mark-all-of-a-user-s-messages-as-read
2148
+ * Mark all messages as read
2149
+ * @param userId (Required)
2150
+ * @param apiToken
2151
+ * @param markAllMessagesAsReadRequest
2152
+ */
2153
+ public markAllMessagesAsRead(userId: string, apiToken?: string, markAllMessagesAsReadRequest?: MarkAllMessagesAsReadRequest, _options?: Configuration): Observable<any> {
2154
+ const requestContextPromise = this.requestFactory.markAllMessagesAsRead(userId, apiToken, markAllMessagesAsReadRequest, _options);
2155
+
2156
+ // build promise chain
2157
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2158
+ for (let middleware of this.configuration.middleware) {
2159
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2160
+ }
2161
+
2162
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2163
+ pipe(mergeMap((response: ResponseContext) => {
2164
+ let middlewarePostObservable = of(response);
2165
+ for (let middleware of this.configuration.middleware) {
2166
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2167
+ }
2168
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.markAllMessagesAsRead(rsp)));
2169
+ }));
2170
+ }
2171
+
2172
+ /**
2173
+ * ## Remove a registration or device token Removes a user's specific registration or device token or all tokens. You can pass `gcm`, `huawei`, or `apns` for FCM registration token, HMS device token, or APNs device token, respectively, in the `token_type` parameter for the push notification service you are using. https://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token#1-remove-a-registration-or-device-token
2174
+ * Remove a registration or device token - When unregistering a specific token
2175
+ * @param userId (Required)
2176
+ * @param tokenType (Required)
2177
+ * @param token (Required)
2178
+ * @param apiToken
2179
+ */
2180
+ public removeARegistrationOrDeviceToken(userId: string, tokenType: 'gcm' | 'huawei' | 'apns', token: string, apiToken?: string, _options?: Configuration): Observable<RemoveARegistrationOrDeviceTokenResponse> {
2181
+ const requestContextPromise = this.requestFactory.removeARegistrationOrDeviceToken(userId, tokenType, token, apiToken, _options);
2182
+
2183
+ // build promise chain
2184
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2185
+ for (let middleware of this.configuration.middleware) {
2186
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2187
+ }
2188
+
2189
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2190
+ pipe(mergeMap((response: ResponseContext) => {
2191
+ let middlewarePostObservable = of(response);
2192
+ for (let middleware of this.configuration.middleware) {
2193
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2194
+ }
2195
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.removeARegistrationOrDeviceToken(rsp)));
2196
+ }));
2197
+ }
2198
+
2199
+ /**
2200
+ * ## Remove a registration or device token from an owner Removes a registration or device token from a user who is the owner of the token. You can pass `gcm`, `huawei`, or `apns` for FCM registration token, HMS device token, or APNs device token, respectively, in the `token_type` parameter for the push notification service you are using. https://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token-from-an-owner#1-remove-a-registration-or-device-token-from-an-owner
2201
+ * Remove a registration or device token from an owner
2202
+ * @param tokenType (Required)
2203
+ * @param token (Required)
2204
+ * @param apiToken
2205
+ */
2206
+ public removeARegistrationOrDeviceTokenFromAnOwner(tokenType: string, token: string, apiToken?: string, _options?: Configuration): Observable<Array<MarkChannelMessagesAsReadRequest>> {
2207
+ const requestContextPromise = this.requestFactory.removeARegistrationOrDeviceTokenFromAnOwner(tokenType, token, apiToken, _options);
2208
+
2209
+ // build promise chain
2210
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2211
+ for (let middleware of this.configuration.middleware) {
2212
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2213
+ }
2214
+
2215
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2216
+ pipe(mergeMap((response: ResponseContext) => {
2217
+ let middlewarePostObservable = of(response);
2218
+ for (let middleware of this.configuration.middleware) {
2219
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2220
+ }
2221
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.removeARegistrationOrDeviceTokenFromAnOwner(rsp)));
2222
+ }));
2223
+ }
2224
+
2225
+ /**
2226
+ * ## Remove a registration or device token Removes a user's specific registration or device token or all tokens. You can pass `gcm`, `huawei`, or `apns` for FCM registration token, HMS device token, or APNs device token, respectively, in the `token_type` parameter for the push notification service you are using. https://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token#1-remove-a-registration-or-device-token
2227
+ * Remove a registration or device token - When unregistering all device tokens
2228
+ * @param userId (Required)
2229
+ * @param apiToken
2230
+ */
2231
+ public removeAllRegistrationOrDeviceToken(userId: string, apiToken?: string, _options?: Configuration): Observable<RemoveAllRegistrationOrDeviceTokenResponse> {
2232
+ const requestContextPromise = this.requestFactory.removeAllRegistrationOrDeviceToken(userId, apiToken, _options);
2233
+
2234
+ // build promise chain
2235
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2236
+ for (let middleware of this.configuration.middleware) {
2237
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2238
+ }
2239
+
2240
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2241
+ pipe(mergeMap((response: ResponseContext) => {
2242
+ let middlewarePostObservable = of(response);
2243
+ for (let middleware of this.configuration.middleware) {
2244
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2245
+ }
2246
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.removeAllRegistrationOrDeviceToken(rsp)));
2247
+ }));
2248
+ }
2249
+
2250
+ /**
2251
+ * ## Reset push preferences You can reset a user's notifications preferences. The values are reset to the default as the following. - The values for the `do_not_disturb` and `snooze_enabled` properties are set to `false`. - The values of the parameters associated with the time frame are all set to `0`. - The value for the `timezone` property is set to `UTC`. - The value for the `push_sound` property is set to `default`. > **Note**: Push notifications are only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/reset-push-notification-preferences#1-reset-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/reset-push-notification-preferences#1-reset-push-notification-preferences)
2252
+ * Reset push preferences
2253
+ * @param userId (Required)
2254
+ * @param apiToken
2255
+ */
2256
+ public resetPushPreferences(userId: string, apiToken?: string, _options?: Configuration): Observable<any> {
2257
+ const requestContextPromise = this.requestFactory.resetPushPreferences(userId, apiToken, _options);
2258
+
2259
+ // build promise chain
2260
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2261
+ for (let middleware of this.configuration.middleware) {
2262
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2263
+ }
2264
+
2265
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2266
+ pipe(mergeMap((response: ResponseContext) => {
2267
+ let middlewarePostObservable = of(response);
2268
+ for (let middleware of this.configuration.middleware) {
2269
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2270
+ }
2271
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.resetPushPreferences(rsp)));
2272
+ }));
2273
+ }
2274
+
2275
+ /**
2276
+ * ## Update a user You can update information about a user using this API. In addition to changing a user's nickname or profile image, you can issue a new access token for the user. The new access token replaces the previous one as the necessary token for authentication. You can also deactivate or reactivate a user using this API request. If the `leave_all_when_deactivated` is set to `true`, a user leaves all joined group channels and becomes deactivated. > **Note**: Issuing session tokens through the `/users/{user_id}` endpoint is now deprecated and it&apos;s replaced with [&lt;code&gt;/users/{user_id}/token&lt;/code&gt;](https://sendbird.com/docs/chat/platform-api/v3/user/managing-session-tokens/issue-a-session-token) endpoint for greater efficiency. For those who are currently using the old endpoint, you can start issuing tokens using the new endpoint. [https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#1-update-a-user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#1-update-a-user)
2277
+ * Update a user
2278
+ * @param userId (Required)
2279
+ * @param apiToken
2280
+ * @param updateAUserRequest
2281
+ */
2282
+ public updateAUser(userId: string, apiToken?: string, updateAUserRequest?: UpdateAUserRequest, _options?: Configuration): Observable<SendbirdUser> {
2283
+ const requestContextPromise = this.requestFactory.updateAUser(userId, apiToken, updateAUserRequest, _options);
2284
+
2285
+ // build promise chain
2286
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2287
+ for (let middleware of this.configuration.middleware) {
2288
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2289
+ }
2290
+
2291
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2292
+ pipe(mergeMap((response: ResponseContext) => {
2293
+ let middlewarePostObservable = of(response);
2294
+ for (let middleware of this.configuration.middleware) {
2295
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2296
+ }
2297
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateAUser(rsp)));
2298
+ }));
2299
+ }
2300
+
2301
+ /**
2302
+ * ## Update channel invitation preference This action updates a user's [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) invitation preference. Updating the [application's default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference) won't override existing users' individual channel invitation preferences. The changed preference only affects the users created after the update. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference#1-update-channel-invitation-preference
2303
+ * Update channel invitation preference
2304
+ * @param userId (Required)
2305
+ * @param apiToken
2306
+ * @param updateChannelInvitationPreferenceRequest
2307
+ */
2308
+ public updateChannelInvitationPreference(userId: string, apiToken?: string, updateChannelInvitationPreferenceRequest?: UpdateChannelInvitationPreferenceRequest, _options?: Configuration): Observable<UpdateChannelInvitationPreferenceResponse> {
2309
+ const requestContextPromise = this.requestFactory.updateChannelInvitationPreference(userId, apiToken, updateChannelInvitationPreferenceRequest, _options);
2310
+
2311
+ // build promise chain
2312
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2313
+ for (let middleware of this.configuration.middleware) {
2314
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2315
+ }
2316
+
2317
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2318
+ pipe(mergeMap((response: ResponseContext) => {
2319
+ let middlewarePostObservable = of(response);
2320
+ for (let middleware of this.configuration.middleware) {
2321
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2322
+ }
2323
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateChannelInvitationPreference(rsp)));
2324
+ }));
2325
+ }
2326
+
2327
+ /**
2328
+ * ## Update count preference of a channel This action updates a user's count preference of a specific group channel. The count preference allows a user to either update the number of unread messages or the number of unread mentioned messages, or both in a specific group channel. If you want to retrieve the total number count of a specific group channel, go to the [get count preference of a channel](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-count-preference-of-a-channel) page. https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/update-count-preference-of-a-channel#1-update-count-preference-of-a-channel
2329
+ * Update count preference of a channel
2330
+ * @param userId (Required)
2331
+ * @param channelUrl (Required)
2332
+ * @param apiToken
2333
+ * @param updateCountPreferenceOfAChannelRequest
2334
+ */
2335
+ public updateCountPreferenceOfAChannel(userId: string, channelUrl: string, apiToken?: string, updateCountPreferenceOfAChannelRequest?: UpdateCountPreferenceOfAChannelRequest, _options?: Configuration): Observable<UpdateCountPreferenceOfChannelByUrlResponse> {
2336
+ const requestContextPromise = this.requestFactory.updateCountPreferenceOfAChannel(userId, channelUrl, apiToken, updateCountPreferenceOfAChannelRequest, _options);
2337
+
2338
+ // build promise chain
2339
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2340
+ for (let middleware of this.configuration.middleware) {
2341
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2342
+ }
2343
+
2344
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2345
+ pipe(mergeMap((response: ResponseContext) => {
2346
+ let middlewarePostObservable = of(response);
2347
+ for (let middleware of this.configuration.middleware) {
2348
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2349
+ }
2350
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateCountPreferenceOfAChannel(rsp)));
2351
+ }));
2352
+ }
2353
+
2354
+ /**
2355
+ * ## Update push preferences You can update a user's notifications preferences. A push notification is a message that is immediately delivered to a user's device when the device is either idle or running the client app in the background. > **Note**: Push notifications are only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences#1-update-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences#1-update-push-notification-preferences)
2356
+ * Update push preferences
2357
+ * @param userId (Required)
2358
+ * @param apiToken
2359
+ * @param updatePushPreferencesRequest
2360
+ */
2361
+ public updatePushPreferences(userId: string, apiToken?: string, updatePushPreferencesRequest?: UpdatePushPreferencesRequest, _options?: Configuration): Observable<UpdatePushPreferencesResponse> {
2362
+ const requestContextPromise = this.requestFactory.updatePushPreferences(userId, apiToken, updatePushPreferencesRequest, _options);
2363
+
2364
+ // build promise chain
2365
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2366
+ for (let middleware of this.configuration.middleware) {
2367
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2368
+ }
2369
+
2370
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2371
+ pipe(mergeMap((response: ResponseContext) => {
2372
+ let middlewarePostObservable = of(response);
2373
+ for (let middleware of this.configuration.middleware) {
2374
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2375
+ }
2376
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updatePushPreferences(rsp)));
2377
+ }));
2378
+ }
2379
+
2380
+ /**
2381
+ * ## Update push preferences for a channel You can update a user's notifications preferences for a specific channel. A push notification is a message that is immediately delivered to a user's device when the device is either idle or running the client app in the background. > **Note**: Push notifications are only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences-for-a-channel#1-update-push-notification-preferences-for-a-channel](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences-for-a-channel#1-update-push-notification-preferences-for-a-channel)
2382
+ * Update push preferences for a channel
2383
+ * @param userId (Required)
2384
+ * @param channelUrl (Required)
2385
+ * @param apiToken
2386
+ * @param updatePushPreferencesForAChannelRequest
2387
+ */
2388
+ public updatePushPreferencesForAChannel(userId: string, channelUrl: string, apiToken?: string, updatePushPreferencesForAChannelRequest?: UpdatePushPreferencesForAChannelRequest, _options?: Configuration): Observable<UpdatePushPreferencesForAChannelResponse> {
2389
+ const requestContextPromise = this.requestFactory.updatePushPreferencesForAChannel(userId, channelUrl, apiToken, updatePushPreferencesForAChannelRequest, _options);
2390
+
2391
+ // build promise chain
2392
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2393
+ for (let middleware of this.configuration.middleware) {
2394
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2395
+ }
2396
+
2397
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2398
+ pipe(mergeMap((response: ResponseContext) => {
2399
+ let middlewarePostObservable = of(response);
2400
+ for (let middleware of this.configuration.middleware) {
2401
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2402
+ }
2403
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updatePushPreferencesForAChannel(rsp)));
2404
+ }));
2405
+ }
2406
+
2407
+ /**
2408
+ * ## View a user You can retrieve information about a user using this API. https://sendbird.com/docs/chat/platform-api/v3/user/listing-users/get-a-user#1-get-a-user `user_id` Type: string Description: Specifies the unique ID of the user to retrieve.
2409
+ * View a user
2410
+ * @param userId (Required)
2411
+ * @param includeUnreadCount
2412
+ * @param customTypes
2413
+ * @param superMode Restricts the search scope to retrieve only Supergroup or non-Supergroup channels. Acceptable values are &#x60;all&#x60;, &#x60;super&#x60;, and &#x60;nonsuper&#x60;. This parameter should be specified in conjunction with &#x60;include_unread_count&#x60; above. (Default: &#x60;all&#x60;)
2414
+ * @param apiToken
2415
+ */
2416
+ public viewAUser(userId: string, includeUnreadCount?: boolean, customTypes?: string, superMode?: 'all' | 'super' | 'nonsuper', apiToken?: string, _options?: Configuration): Observable<SendbirdUser> {
2417
+ const requestContextPromise = this.requestFactory.viewAUser(userId, includeUnreadCount, customTypes, superMode, apiToken, _options);
2418
+
2419
+ // build promise chain
2420
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2421
+ for (let middleware of this.configuration.middleware) {
2422
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2423
+ }
2424
+
2425
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2426
+ pipe(mergeMap((response: ResponseContext) => {
2427
+ let middlewarePostObservable = of(response);
2428
+ for (let middleware of this.configuration.middleware) {
2429
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2430
+ }
2431
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewAUser(rsp)));
2432
+ }));
2433
+ }
2434
+
2435
+ /**
2436
+ * ## View count preference of a channel This action retrieves a user's count preference of a specific group channel. The count preference allows a user to either retrieve the number of unread messages or unread mentioned messages, or both in a specific group channel. If you want to update the total number count of a specific group channel, visit the [update count preference of a channel](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/update-count-preference-of-a-channel). https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-count-preference-of-a-channel#1-get-count-preference-of-a-channel
2437
+ * View count preference of a channel
2438
+ * @param userId (Required)
2439
+ * @param channelUrl (Required)
2440
+ * @param apiToken
2441
+ */
2442
+ public viewCountPreferenceOfAChannel(userId: string, channelUrl: string, apiToken?: string, _options?: Configuration): Observable<ViewCountPreferenceOfAChannelResponse> {
2443
+ const requestContextPromise = this.requestFactory.viewCountPreferenceOfAChannel(userId, channelUrl, apiToken, _options);
2444
+
2445
+ // build promise chain
2446
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2447
+ for (let middleware of this.configuration.middleware) {
2448
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2449
+ }
2450
+
2451
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2452
+ pipe(mergeMap((response: ResponseContext) => {
2453
+ let middlewarePostObservable = of(response);
2454
+ for (let middleware of this.configuration.middleware) {
2455
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2456
+ }
2457
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewCountPreferenceOfAChannel(rsp)));
2458
+ }));
2459
+ }
2460
+
2461
+ /**
2462
+ * ## View number of channels with unread messages This action retrieves the total number of group channels in which a user has unread messages. You can use various query parameters to determine the search scope of group channels. https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-channels-with-unread-messages#1-get-number-of-channels-with-unread-messages
2463
+ * View number of channels with unread messages
2464
+ * @param userId (Required)
2465
+ * @param customTypes
2466
+ * @param superMode Restricts the search scope to either Supergroup channels or non-Supergroup channels or both. Acceptable values are all, super, and nonsuper. (Default: all)
2467
+ * @param apiToken
2468
+ */
2469
+ public viewNumberOfChannelsWithUnreadMessages(userId: string, customTypes?: string, superMode?: 'all' | 'super' | 'nonsuper', apiToken?: string, _options?: Configuration): Observable<ViewNumberOfChannelsWithUnreadMessagesResponse> {
2470
+ const requestContextPromise = this.requestFactory.viewNumberOfChannelsWithUnreadMessages(userId, customTypes, superMode, apiToken, _options);
2471
+
2472
+ // build promise chain
2473
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2474
+ for (let middleware of this.configuration.middleware) {
2475
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2476
+ }
2477
+
2478
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2479
+ pipe(mergeMap((response: ResponseContext) => {
2480
+ let middlewarePostObservable = of(response);
2481
+ for (let middleware of this.configuration.middleware) {
2482
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2483
+ }
2484
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewNumberOfChannelsWithUnreadMessages(rsp)));
2485
+ }));
2486
+ }
2487
+
2488
+ /**
2489
+ * ## View number of unread messages This action retrieves a user's total number of unread messages in group channels. > **Note**: The unread count feature is only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-unread-messages#1-get-number-of-unread-messages](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-unread-messages#1-get-number-of-unread-messages) `user_id` Type: string Description: Specifies the unique ID of a user.
2490
+ * View number of unread messages
2491
+ * @param userId (Required)
2492
+ * @param customTypes Specifies a comma-separated string of one or more custom types to filter group channels. URL encoding each type is recommended. If not specified, all channels are returned, regardless of their custom type.
2493
+ * @param superMode Restricts the search scope to either Supergroup channels or non-Supergroup channels or both. Acceptable values are &#x60;all&#x60;, &#x60;super&#x60;, and &#x60;nonsuper&#x60;. (Default: &#x60;all&#x60;)
2494
+ * @param apiToken
2495
+ */
2496
+ public viewNumberOfUnreadMessages(userId: string, customTypes?: string, superMode?: string, apiToken?: string, _options?: Configuration): Observable<ViewNumberOfUnreadMessagesResponse> {
2497
+ const requestContextPromise = this.requestFactory.viewNumberOfUnreadMessages(userId, customTypes, superMode, apiToken, _options);
2498
+
2499
+ // build promise chain
2500
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2501
+ for (let middleware of this.configuration.middleware) {
2502
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2503
+ }
2504
+
2505
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2506
+ pipe(mergeMap((response: ResponseContext) => {
2507
+ let middlewarePostObservable = of(response);
2508
+ for (let middleware of this.configuration.middleware) {
2509
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2510
+ }
2511
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewNumberOfUnreadMessages(rsp)));
2512
+ }));
2513
+ }
2514
+
2515
+ /**
2516
+ * ## View push preferences You can retrieves a user's notifications preferences. A push notification is a message that is immediately delivered to a user's device when the device is either idle or running the client app in the background. > **Note**: Push notifications are only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences#1-get-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences#1-get-push-notification-preferences)
2517
+ * View push preferences
2518
+ * @param userId (Required)
2519
+ * @param apiToken
2520
+ */
2521
+ public viewPushPreferences(userId: string, apiToken?: string, _options?: Configuration): Observable<ViewPushPreferencesResponse> {
2522
+ const requestContextPromise = this.requestFactory.viewPushPreferences(userId, apiToken, _options);
2523
+
2524
+ // build promise chain
2525
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2526
+ for (let middleware of this.configuration.middleware) {
2527
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2528
+ }
2529
+
2530
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2531
+ pipe(mergeMap((response: ResponseContext) => {
2532
+ let middlewarePostObservable = of(response);
2533
+ for (let middleware of this.configuration.middleware) {
2534
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2535
+ }
2536
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewPushPreferences(rsp)));
2537
+ }));
2538
+ }
2539
+
2540
+ /**
2541
+ * ## View push preferences for a channel You can retrieve a user's notifications preferences for a specific channel. A push notification is a message that is immediately delivered to a user's device when the device is either idle or running the client app in the background. These notifications preferences can be configured. > **Note**: Push notifications are only available for group channels. [https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences-for-a-channel#1-get-push-notification-preferences-for-a-channel](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences-for-a-channel#1-get-push-notification-preferences-for-a-channel)
2542
+ * View push preferences for a channel
2543
+ * @param userId (Required)
2544
+ * @param channelUrl (Required)
2545
+ * @param apiToken
2546
+ */
2547
+ public viewPushPreferencesForAChannel(userId: string, channelUrl: string, apiToken?: string, _options?: Configuration): Observable<ViewPushPreferencesForAChannelResponse> {
2548
+ const requestContextPromise = this.requestFactory.viewPushPreferencesForAChannel(userId, channelUrl, apiToken, _options);
2549
+
2550
+ // build promise chain
2551
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2552
+ for (let middleware of this.configuration.middleware) {
2553
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2554
+ }
2555
+
2556
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2557
+ pipe(mergeMap((response: ResponseContext) => {
2558
+ let middlewarePostObservable = of(response);
2559
+ for (let middleware of this.configuration.middleware) {
2560
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2561
+ }
2562
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewPushPreferencesForAChannel(rsp)));
2563
+ }));
2564
+ }
2565
+
2566
+ /**
2567
+ * ## View who owns a registration or device token Retrieves a user who owns a FCM registration token, HMS device token, or APNs device token. You can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`, depending on which push service you are using. https://sendbird.com/docs/chat/v3/platform-api/guides/user#2-view-who-owns-a-registration-or-device-token ----------------------------
2568
+ * View who owns a registration or device token
2569
+ * @param tokenType (Required)
2570
+ * @param token (Required)
2571
+ * @param apiToken
2572
+ */
2573
+ public viewWhoOwnsARegistrationOrDeviceToken(tokenType: string, token: string, apiToken?: string, _options?: Configuration): Observable<Array<MarkChannelMessagesAsReadRequest>> {
2574
+ const requestContextPromise = this.requestFactory.viewWhoOwnsARegistrationOrDeviceToken(tokenType, token, apiToken, _options);
2575
+
2576
+ // build promise chain
2577
+ let middlewarePreObservable = from<RequestContext>(requestContextPromise);
2578
+ for (let middleware of this.configuration.middleware) {
2579
+ middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
2580
+ }
2581
+
2582
+ return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
2583
+ pipe(mergeMap((response: ResponseContext) => {
2584
+ let middlewarePostObservable = of(response);
2585
+ for (let middleware of this.configuration.middleware) {
2586
+ middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
2587
+ }
2588
+ return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.viewWhoOwnsARegistrationOrDeviceToken(rsp)));
2589
+ }));
2590
+ }
2591
+
2592
+ }